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 //重启