1、下載node、解壓、新增到全域性變數
下載
wget https://nodejs.org/dist/v8.11.2/node-v8.11.2-x64.msi
解壓
tar -jxv -f node-v8.11.2-x64
把node、和npm新增到全域性變數
ln -s /app/node-v8.11.2-x64/bin/node /usr/local/bin/node
ln -s /app/node-v8.11.2-x64/bin/npm /usr/local/bin/npm
前面是安裝目錄,填寫自已的安裝路徑
2、mongodb 的安裝
mongodb 官網,找到對應linux系統的安裝包。我的伺服器系統是 centos7
- 下載安裝包
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.0.0.tgz
- 解壓
tar -zxvf mongodb-linux-x86_64-rhel70-4.0.0.tgz
- 改名(也可以不改),改名是為了檔名不要那麼長
mv mongodb-linux-x86_64-rhel70-4.0.0 mongodb4.0.0
- 建立mongodb資料夾,並把上面解壓後生成的資料夾移到mongodb中去
- 然後cd到
mongodb/mongodb4.0.0.0/bin
目錄下 - 建立兩個目錄
data/db
和data/logs
分別用於存放資料庫資料和日誌。 - 然後在
bin
目錄下建立一個啟動配置檔案mongodb.conf
,填入
# MongoDB start config -2018-06-28
# 設定資料檔案存放目錄
dbpath = /app/mongodb/mongodb4.0.0/bin/data/db
# 設定日誌檔案存放目錄,及日誌檔名
logpath = /app/mongodb/mongodb4.0.0/bin/data/logs/mongodb.log
# 設定資料庫訪問埠號(預設為 27017)
port = 27017
# 設定為以守護程式的方式執行,即在後臺執行
fork = true
然後啟動、停止mongodb、登入
cd 到 /app/mongodb/mongodb4.0.0/bin
目錄下
通過配置檔案方式啟動
./mongod -f mongodb.conf
登入
mongo
停止
./mongod --shutdown --dbpath /app/mongodb/mongodb4.0.0/bin/data/db
或
db.shutdownServer();
3、mongoose 連線資料庫
npm i -D mongoose
const mongoose = require(`mongoose`)
let url = `mongodb://127.0.0.1:27017/test` // test 庫已存在則連線,不存在,則建立 test 並連線
mongoose.connect(url)
4、配置 https
我用的是阿里雲伺服器,其它的應該也相似
首先去到域名管理,申請 ssl 證照。下載證照。node 用的證照跟Nginx是一樣的。下載Nginx那個就好了。
證照下載解壓後,有兩個檔案,一個是 .key
字尾,一個是 .pem
字尾。service.js
檔案
const https = require(`https`)
const http = require(`http`)
const fs = require(`fs`)
const express = require(`express`)
const app = express()
let port = 8088
let httpServer = http.createServer(app)
let certificate = {
key: fs.readFileSync(`./certificate/1231231.key`, `utf8`),
cert: fs.readFileSync(`./certificate/1231231.pem`, `utf8`)
}
let httpsPort = 443
let httpsServer = https.createServer(certificate, app)
httpServer.listen(port, () => {
console.log(`node http server listening the port ${port}.....`)
})
httpsServer.listen(httpsPort, () => {
console.log(`node https server listening the port ${httpsPort}.....`)
})
然後啟動伺服器就可以了,不過這樣的啟動方式,一旦關閉命令視窗就結束程式了。服務持久化請看一步。
node service.js
5、安裝forever 守護程式,讓node服務持久化
npm i -g forever
將forever新增到全域性變數
ln -s /app/node-v8.11.2-x64/bin/forever /usr/local/bin/forever
管理服務相關
forever start server.js //啟動伺服器
forever list //檢視當前執行的所有服務
forever stopall //停止所有服務
forever stop server.js //停止指定檔案
forever restart server.js //重啟