最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Node.js搭建小程序后臺服務

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

準備條件

一臺服務器

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

服務器后臺

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文件,復制里面的內(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ù)庫服務

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

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

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

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

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

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

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

啟動客戶端shell

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

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

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

關閉數(shù)據(jù)庫服務

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

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

創(chuàng)建https服務

npm init  //項目初始化

安裝express

npm install express --save

實現(xiàn)簡單的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操作數(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ù)庫中對應的表為yourtables

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

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

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

mongodb與關系型數(shù)據(jù)庫的對應關系

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

使用pm2

安裝pm2

npm install  -g pm2

啟動應用

pm2 start app.js

相關文章

  • Node.js+Express+Vue+MySQL+axios的項目搭建全過程

    Node.js+Express+Vue+MySQL+axios的項目搭建全過程

    這篇文章主要介紹了Node.js+Express+Vue+MySQL+axios的項目搭建全過程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • nodejs使用readline逐行讀取和寫入文件的實現(xiàn)

    nodejs使用readline逐行讀取和寫入文件的實現(xiàn)

    這篇文章給大家介紹了nodejs使用readline逐行讀取和寫入文件的實現(xiàn)方法,文中通過代碼示例給大家講解的非常詳細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下
    2024-01-01
  • NodeJs+MySQL實現(xiàn)注冊登錄功能

    NodeJs+MySQL實現(xiàn)注冊登錄功能

    這篇文章主要為大家詳細介紹了NodeJs+MySQL實現(xiàn)注冊登錄功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • node.js 中國天氣預報 簡單實現(xiàn)

    node.js 中國天氣預報 簡單實現(xiàn)

    本文主要介紹使用node.js做一個自用的天氣插件,需要的朋友可以參考下。
    2016-06-06
  • nodejs+socket.io實現(xiàn)p2p消息實時發(fā)送的項目實踐

    nodejs+socket.io實現(xiàn)p2p消息實時發(fā)送的項目實踐

    本文主要介紹了nodejs+socket.io實現(xiàn)p2p消息實時發(fā)送,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-06-06
  • Node.js  事件循環(huán)詳解及實例

    Node.js 事件循環(huán)詳解及實例

    這篇文章主要介紹了 Node.js 事件循環(huán)詳解及實例的相關資料,Node.js 有多個內(nèi)置的事件,我們可以通過引入 events 模塊,并通過實例化 EventEmitter 類來綁定和監(jiān)聽事件,需要的朋友可以參考下
    2017-08-08
  • Node.js流管理利器Destroy包使用方法詳解

    Node.js流管理利器Destroy包使用方法詳解

    在 Node.js 中,流(Streams)是處理大量數(shù)據(jù)的高效方式,然而,流的不當處理可能會引發(fā)資源泄露,本文將詳解如何使用 destroy 包,確保流被正確銷毀,需要的朋友可以參考下
    2024-05-05
  • Windows下安裝 node 的版本控制工具 nvm

    Windows下安裝 node 的版本控制工具 nvm

    這篇文章主要介紹了Windows下安裝 node 的版本控制工具 nvm的相關資料,需要的朋友可以參考下
    2020-02-02
  • Nodejs實現(xiàn)用戶注冊功能

    Nodejs實現(xiàn)用戶注冊功能

    本文通過實例代碼給大家介紹了Nodejs實現(xiàn)用戶注冊功能,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-04-04
  • Nodejs極簡入門教程(三):進程

    Nodejs極簡入門教程(三):進程

    這篇文章主要介紹了Nodejs極簡入門教程(三):進程,本文講解了Node 進程間通信、cluster 模塊等內(nèi)容,需要的朋友可以參考下
    2014-10-10

最新評論

岢岚县| 筠连县| 京山县| 独山县| 青浦区| 隆回县| 平顶山市| 德令哈市| 镇康县| 木里| 龙南县| 涟源市| 新干县| 江都市| 天长市| 年辖:市辖区| 信宜市| 杂多县| 平乐县| 滨州市| 贡山| 三河市| 常宁市| 双辽市| 工布江达县| 水城县| 新郑市| 大名县| 宜春市| 乌鲁木齐县| 锡林浩特市| 巴楚县| 夏河县| 曲水县| 唐海县| 怀化市| 安顺市| 玉树县| 新营市| 浮山县| 包头市|