简介:PM2 是一个带有负载均衡功能的 Node 应用进程管理器。
主要特性:
-
内建负载均衡(使用 Node cluster 集群模块)
-
后台运行
-
0 秒停机重载
-
具有 Ubuntu 和 CentOS 的启动脚本
-
停止不稳定的进程(避免无限循环)
-
控制台检测
-
提供 HTTP API
-
远程控制和实时的接口 API(Nodejs 模块,允许和 PM2 进程管理器交互)
使用npm/cnpm全局安装:
1
|
npm install -g pm2
|
pm2命令使用(项目更目录下使用):
$ pm2 start app.js
启动app项目
$ pm2 list
列出由pm2管理的所有进程信息,还会显示一个进程会被启动多少次,因为没处理的异常。
$ pm2 monit
监视每个node进程的CPU和内存的使用情况
$ pm2 logs
显示所有进程日志
$ pm2 stop all
停止所有进程
$ pm2 restart all
重启所有进程
$ pm2 reload all 0
秒停机重载进程 (用于 NETWORKED 进程)
$ pm2 stop 0
停止指定的进程
$ pm2 restart 0
重启指定的进程
$ pm2 startup
产生 init 脚本 保持进程活着
$ pm2 web
启动web进程
$ pm2 delete 0
杀死指定的进程
$ pm2 delete all
杀死全部进程
启动进程的方式详细:
$ pm2 start app.js -i max
根据有效CPU数目启动最大进程数目
$ pm2 start app.js -i 3
启动3个进程
$ pm2 start app.js -x
用fork模式启动 app.js 而不是使用 cluster
$ pm2 start app.js -x -- -a 23
用fork模式启动 app.js 并且传递参数 (-a 23)
$ pm2 start app.js --name serverone
启动一个进程并把它命名为 serverone
$ pm2 stop serverone
停止 serverone 进程
$ pm2 start app.json
启动进程, 在 app.json里设置选项
$ pm2 start app.js -i max -- -a 23
在--之后给 app.js 传递参数
$ pm2 start app.js -i max -e err.log -o out.log
启动 并 生成一个配置文件