一、首先先看forever与pm2的比较。见下图:
二、pm2的基本操作指令。
1、# npm install pm2 -g # 命令行安装 pm2(全局安装)
2、# pm2 start app.js --name myname # 命名进程并启动(首次启动,需要进入项目目录中进行启动)
3、# pm2 list # 显示所有进程状态
4、# pm2 monit # 监视所有进程
5、# pm2 logs # 显示所有进程日志
6、# pm2 stop all # 停止所有进程
7、# pm2 restart all # 重启所有进程
8、# pm2 reload all # 0秒停机重载进程 (用于 NETWORKED 进程)
9、# pm2 stop 0 # 停止指定的进程
10、# pm2 restart 0 # 重启指定的进程
11、# pm2 startup # 产生 init 脚本 保持进程活着
12、# pm2 web # 运行健壮的 computer API endpoint (http://localhost:9615)
13、# pm2 delete 0 # 杀死指定的进程
14、# pm2 delete all # 杀死全部进程
15、#pm2 start app.js --watch #开启自动重启模式
三、pm2运行进程的不同方式。
1、# pm2 start app.js -i max # 根据有效CPU数目启动最大进程数目
2、# pm2 start app.js -i 3 # 启动3个进程
3、# pm2 start app.js -x #用fork模式启动 app.js 而不是使用 cluster
4、# pm2 start app.js -x -- -a 23 # 用fork模式启动 app.js 并且传递参数 (-a 23)
5、# pm2 start app.js --name serverone # 启动一个进程并把它命名为 serverone
6、# pm2 stop serverone # 停止 serverone 进程
7、# pm2 start app.json # 启动进程, 在 app.json里设置选项
8、# pm2 start app.js -i max -- -a 23 #在--之后给 app.js 传递参数
9、# pm2 start app.js -i max -e err.log -o out.log # 启动 并 生成一个配置文件
四、运行其他语言编写的程序。
1、# pm2 start my-bash-script.sh -x --interpreter bash
2、# pm2 start my-python-script.py -x --interpreter python
自己总结的部署利器:运维部署
参考资料:PM2