pm2

主要特性:
内建负载均衡(使用Node cluster 集群模块 // 均衡算法不一样啊)
0秒停机重载.
具有 Ubuntu 和 CentOS 的启动脚本
停止不稳定的进程(避免无限循环)
控制台检测
提供 HTTP API
远程控制和实时的接口API ( Nodejs 模块,允许和PM2进程管理器交互 )

pm2 会启动多个进程, 进程间的内存数据彼此独立,所以微信accessToken 这类唯一性的东西必须存在文件/数据库/共享内存

PM2模块是cluster模块的一个包装层。它的作用是尽量将cluster模块抽象掉,让用户像使用单进程一样,部署多实例 Node 应用。

$ pm2 start app.js -i 4
i参数告诉PM2,这段代码应该在cluster_mode启动,且新建worker进程的数量是4个。如果i参数的值是0,那么当前机器有几个CPU内,PM2就会启动几个worker进程。
process.on('message', function(msg) {
if (msg === 'shutdown') {
close_all_connections();
delete_logs();
server.close();
process.exit(0);
}
});

更新:
$ npm install pm2@latest -g
$ pm2 update //更新内存中的pm2