首頁  >  文章  >  web前端  >  在Node.js中如何搭建小程式後台服務

在Node.js中如何搭建小程式後台服務

亚连
亚连原創
2018-06-13 18:13:443410瀏覽

最近在做微信的應用號小程式開發,小程式的後台資料介面需要https安全請求,所以需要我的nodejs伺服器能夠提供https的支持,現在就將整個https伺服器的搭建過程說一下

準備條件

一台伺服器

SSL證書,小程式規定必須要https協定

伺服器後台

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文件,複製裡面的內容,在自己的github上添加ssh

安裝mongodb和客戶端shell

#yum install mongodb-server mongodb -y

建立資料庫檔案存放目錄

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

啟動mongodb資料庫服務



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

注意:

如果在啟動mongodb服務時在指令後面加上--auth即會開啟認證。

建議開啟認證,如果不開會很容易被駭。

--port 12345可以改變資料庫的連接埠號,預設是27017。

--fork是以守護程式的方式啟動資料庫服務。

--dbpath /data/mongodb 指定資料庫檔案存放的目錄。

--logpath /data/logs/youlog.log 指定日誌檔案目錄。

mongodb的設定檔預設在/etc/mongod.conf

啟動客戶端shell

mongo  //啟動mongodb客戶端shell 預設連接test資料庫

在shell裡可以切換資料庫連接,和進行相關操作。

在雲端伺服器以守護程式的方式啟動一次資料庫服務之後,關閉終端,服務也不會被終止。所以下次不用再啟動資料庫服務,直接連線就可以。

關閉資料庫服務

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

如果啟動時加了dbpath而且不是預設的/data/db ,則關閉資料庫服務時也應加上dbpath。

建立https服務

npm init  //專案初始化

安裝express

npm install express --save

實現簡單的https伺服器

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操作資料庫

npm install mongoose --save
const mongoose = require('mongoose');
mongoose.connect('mongodb://127.0.0.1/dbname'); //连接数据库

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); //在数据库中对应的表为yourtables

let yourDoc = new yourModel({
  name : 'yourname',
  age : 18,
});
注意如果啟動mongodb資料庫服務時加上了--auth 則使用mongoose連接資料庫時,要加上認證的帳戶

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

mongodb與關係型資料庫的對應關係

#Schema相當於表格的結構,可以預先定義文件的欄位類型,不能進行資料庫操作。 Modle可以進行一系列資料庫操作,相當於表格。 Model的實例就相當於表格的一行。

使用pm2

安裝pm2

#npm install  -g pm2##啟動應用程式

pm2 start app.js

###上面是我整理給大家的,希望未來會對大家有幫助。 ######相關文章:#########在vue中如何編譯打包查看index檔############在vue中如何使用Jade模板#### ########在Angular中向元件傳遞模板#######

以上是在Node.js中如何搭建小程式後台服務的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn