基于nodejs的前后端分离-服务部署

本以为可以像本地开发一样,直接启动服务就可以了,但事实上并不是这样。

项目在本地运行的时候,我们可以直接

1
node ./app.js

或者我们在package.json文件中写入执行命令

1
2
3
"scripts": {
"start": "node ./app.js"
}

但是在我把代码放入服务器的时候却发现,我如果想执行多个命令的时候,该怎么办?
首先,我启动了一个server,然后如果想再输入命令的话,要么重新打开窗口,要么停止上一个,这肯定是不友好的方法,或者说是
比较low的方法。毕竟都开始玩nodejs了,我们又干嘛这么low呢?
下面进入正题。

pm2

首先移步github看下这个东西。

https://github.com/Unitech/pm2

pm2,一个带有负载均衡功能的node应用的进程管理器。

下面是引用别人的话了,额,我还是菜鸟,还真没理解到那种程度。https://www.douban.com/note/314200231/

1
2
3
4
5
6
7
8
9
10
主要特性:

内建负载均衡(使用Node cluster 集群模块)
后台运行
0秒停机重载,我理解大概意思是维护升级的时候不需要停机.
具有Ubuntu和CentOS 的启动脚本
停止不稳定的进程(避免无限循环)
控制台检测
提供 HTTP API
远程控制和实时的接口API ( Nodejs 模块,允许和PM2进程管理器交互 )

上面的一些功能对目前的需求而言,我可能只用到了后台运行,其实这个用forever也可以做到,但是好多公司现在生产环境都用的pm2,
再加上github上star那么多,绝对令人垂涎。

pm2的安装使用,就不再这里赘述了,没必要做文字的搬运工,因为我是代码的搬运工。