Linux 下配置 node + mongodb 环境

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/dbdata/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   //重启
    原文作者:Dean
    原文地址: https://segmentfault.com/a/1190000015945124
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞