欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Node.js搭建小程序后臺服務(wù)

 更新時間:2018年01月03日 08:36:28   作者:Wenke  
最近在做微信的應(yīng)用號小程序開發(fā),小程序的后臺數(shù)據(jù)接口需要https安全請求,所以需要我的nodejs服務(wù)器能夠提供https的支持,現(xiàn)在就將整個https服務(wù)器的搭建過程說一下

準(zhǔn)備條件

一臺服務(wù)器

SSL證書,小程序規(guī)定必須要https協(xié)議

服務(wù)器后臺

Node.js
express
mongodb
pm2

下面以騰訊云主機(centos)為例

安裝Node.js

yum install nodejs

也可以安裝nvm,用nvm管理nodejs版本

安裝git

yum install git

連接到遠程代碼庫

以github為例:

配置用戶信息

git config --global user.name youname
git config --global user.email youemail

生成ssh公鑰

ssh -keygen -t rsa -C youemail

默認生成目錄為 /root/.ssh
在目錄中找到id_rsa.pub文件,復(fù)制里面的內(nèi)容,在自己的github上添加ssh

安裝mongodb和客戶端shell

yum install mongodb-server mongodb -y

創(chuàng)建數(shù)據(jù)庫文件存放目錄

mkdir -p /data/mongodb
mkdir -p /data/logs/mongodb

啟動mongodb數(shù)據(jù)庫服務(wù)

mongod --fork --dbpath /data/mongodb --logpath /data/logs/youlog.log

注意:
如果在啟動mongodb服務(wù)時在命令后面加上 --auth即會開啟認證。
建議開啟認證,如果不開會很容易被黑。

--port 12345可以改變數(shù)據(jù)庫的端口號,默認是27017。

--fork是以守護進程的方式啟動數(shù)據(jù)庫服務(wù)。

--dbpath /data/mongodb 指定數(shù)據(jù)庫文件存放的目錄。

--logpath /data/logs/youlog.log 指定日志文件目錄。

mongodb的配置文件默認在 /etc/mongod.conf

啟動客戶端shell

mongo  //啟動mongodb客戶端shell 默認連接test數(shù)據(jù)庫

在shell里可以切換數(shù)據(jù)庫連接,和進行相關(guān)操作。

在云服務(wù)器以守護進程的方式啟動一次數(shù)據(jù)庫服務(wù)之后,關(guān)閉終端,服務(wù)也不會被終止。所以下次不用再啟動數(shù)據(jù)庫服務(wù),直接連接就可以。

關(guān)閉數(shù)據(jù)庫服務(wù)

mongod --shutdown (--dbpath /data/mongodb)

如果啟動時加了dbpath而且不是默認的/data/db ,則關(guān)閉數(shù)據(jù)庫服務(wù)時也應(yīng)加上dbpath。

創(chuàng)建https服務(wù)

npm init  //項目初始化

安裝express

npm install express --save

實現(xiàn)簡單的https服務(wù)器

const https = require('https');
const fs = require('fs');
const express = require('express');
const app = express();

let key = fs.readFileSync('youssl.key');
let cert = fs.readFileSync('youssl.crt');

let options = {
  key : key,
  cert : cert
};

const httpsServer = https.createServer(options,app);
httpsServer.listen(443, () => {
  console.log('listening 443 port');
});

app.get('/',(req, res, next) => {
  console.log('someone request');
});

.key和.cert文件為你的ssl認證文件,以騰訊云主機為例,可以有免費1年的ssl證書。

使用mongoose操作數(shù)據(jù)庫

npm install mongoose --save
const mongoose = require('mongoose');
mongoose.connect('mongodb://127.0.0.1/dbname'); //連接數(shù)據(jù)庫

const connection = mongoose.connection;
connection.once('open', (err) => {
  if(err){
    console.log('Database connection failure');
  }else{
    console.log('Database opened');
  }
});

const Schema = mongoose.Schema;

const YourSchema = new Schema({
  name : String,
  age : Number,
});

const yourModel = mongoose.model('yourtable', YourSchema); //在數(shù)據(jù)庫中對應(yīng)的表為yourtables

let yourDoc = new yourModel({
  name : 'yourname',
  age : 18,
});

注意 如果啟動mongodb數(shù)據(jù)庫服務(wù)時加上了--auth 則使用mongoose連接數(shù)據(jù)庫時,要加上認證的賬戶

mongoose.connect('mongodb://youraccount:pwd@127.0.0.1/dbname');

mongodb與關(guān)系型數(shù)據(jù)庫的對應(yīng)關(guān)系

Schema相當(dāng)于表的結(jié)構(gòu),可以預(yù)定義文檔的字段類型,不能進行數(shù)據(jù)庫操作。 Modle可以進行一系列數(shù)據(jù)庫操作,相當(dāng)于表。Model的實例就相當(dāng)于表的一行。

使用pm2

安裝pm2

npm install  -g pm2

啟動應(yīng)用

pm2 start app.js

相關(guān)文章

  • Nest.js系列學(xué)習(xí)之初識nest項目框架及服務(wù)

    Nest.js系列學(xué)習(xí)之初識nest項目框架及服務(wù)

    這篇文章主要為大家介紹了Nest.js系列學(xué)習(xí)之初識nest項目框架及服務(wù),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • nodejs簡單訪問及操作mysql數(shù)據(jù)庫的方法示例

    nodejs簡單訪問及操作mysql數(shù)據(jù)庫的方法示例

    這篇文章主要介紹了nodejs簡單訪問及操作mysql數(shù)據(jù)庫的方法,結(jié)合實例形式分析了nodejs創(chuàng)建mysql連接、執(zhí)行sql語句及關(guān)閉連接等相關(guān)操作技巧,需要的朋友可以參考下
    2018-03-03
  • 詳解npm與package.json之間的聯(lián)系

    詳解npm與package.json之間的聯(lián)系

    這篇文章主要為大家介紹了npm與package.json之間的聯(lián)系圖文示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-07-07
  • Nodejs把接收圖片base64格式保存為文件存儲到服務(wù)器上

    Nodejs把接收圖片base64格式保存為文件存儲到服務(wù)器上

    這篇文章主要介紹了Nodejs把接收圖片base64格式保存為文件存儲到服務(wù)器上,文中代碼較簡短,需要的朋友可以參考下
    2018-09-09
  • 深入淺析Node.js 事件循環(huán)

    深入淺析Node.js 事件循環(huán)

    Node.js 是單進程單線程應(yīng)用程序,但是通過事件和回調(diào)支持并發(fā),所以性能非常高,本文給大家介紹nodejs事件循環(huán)相關(guān)知識,對此感興趣的朋友快來學(xué)習(xí)吧
    2015-12-12
  • 詳細談?wù)凬odeJS進程是如何退出的

    詳細談?wù)凬odeJS進程是如何退出的

    這篇文章主要給大家介紹了關(guān)于NodeJS進程是如何退出的相關(guān)資料,主要介紹了導(dǎo)致進程退出的三個因素:主動退出;未捕獲的異常、未處理的 promise rejection;未處理的 Event Emitter error 事件 系統(tǒng)信號,需要的朋友可以參考下
    2021-07-07
  • Express 框架中使用 EJS 模板引擎并結(jié)合 silly-datetime 庫進行日期格式化的實現(xiàn)方法

    Express 框架中使用 EJS 模板引擎并結(jié)合 silly-datetime

    這篇文章主要介紹了Express 框架中使用 EJS 模板引擎并結(jié)合 silly-datetime 庫進行日期格式化的實現(xiàn)方法,結(jié)合具體實例形式分析了express框架引入EJS模版以及導(dǎo)入 silly-datetime 庫的格式化方法傳遞給EJS模版使用的相關(guān)操作技巧,需要的朋友可以參考下
    2023-05-05
  • node.js讀取文件到字符串的方法

    node.js讀取文件到字符串的方法

    這篇文章主要介紹了node.js讀取文件到字符串的方法,涉及readFileSync方法的使用技巧,需要的朋友可以參考下
    2015-06-06
  • node刪除、復(fù)制文件或文件夾示例代碼

    node刪除、復(fù)制文件或文件夾示例代碼

    這篇文章主要給大家介紹了關(guān)于node刪除、復(fù)制文件或文件夾的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用node具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • 對node.js中render和send的用法詳解

    對node.js中render和send的用法詳解

    今天小編就為大家分享一篇對node.js中render和send的用法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05

最新評論