一:why ?
1.pm2是可以用于生产环境的Nodejs的进程管理工具,并且它内置一个负载均衡。
2.内置负载均衡(使用Node cluster 集群模块)
3.在后台运行
4.0秒停机重载,修改文件不用停机重启,类似前端脚手架热加载
5.具有Ubuntu 和Centos 的启动脚本
6.停止不稳定的进程(避免无限循环)
7.控制台检测 (可以显示各种访问数据,内存暂用数据)
二:how ?
和安装其他node插件一样 npm install pm2 -g
原来启用node程序都是 node xxx.js
而且启动几个项目就要开几个cmd窗口
比如现在我在阿里云服务器新建了两个express项目index.js和index2.js就可以这样启动项目
pm2 start index.js 还可以这样pm2 start index.js --watch表示热重启,更改文件自动重启,
然后再开启第二个服务
pm2 start index.js --watch
有多少个服务就执行多少次,每个服务都会显示在列表里
如果要停止某个服务则使用pm2 stop :id 比如要停止id为2的服务
pm2 stop 2
重新启动
pm2 restart 2 --watch
停止所有服务 pm2 stop all 删除指定服务 pm2 detele :id 删除所有 pm2 detele all
集群模式下启用多个应用实例开启负载均衡
pm2 start index2.js -i 3 --watch
还可以调整负载进程数量 pm2 scale index2.js 2
现在index2.js 的实例编程两个
内置cpu / 内存监控
pm2 monit