管理node进程的工具有几种,forever/pm2/supervisor,还有比较笨的方法nohup&,以及用centos系统管理进程,方法千千万,pm2却是个不错的选择。
安装
npm install pm2 -g//安装
pm2 update// 更新
pm2 uninstall pm2//移除pm2
开启关闭:
pm2 start server.js//启动server.js进程
pm2 start server.js -i4//启动4个server.js进程
pm2 restart server.js//重启server.js进程
pm2 stop all// 停止所有进程
pm2 stop server.js//停止server.js进程
pm2 stop0//停止编号为0的进程
pm2 detele all //删除所有进程
配置启动信息:
//创建app.json,内容如下
{"apps": [
{"script":"./server.js",//进程名
"args":"['serverType=gate','id=gate-server-1']",//包含通过CLI传递给脚本的所有参数的字符串
"instances":"max",//开启进程数,可为数值,也可为max与服务器cpu核数相关
"exec_mode":"cluster",// 可选:fork(服务器单核推荐) cluster(多核推荐)
"max_memory_restart":"150M"//如果超过指定的内存量,您的应用程序将重新启动。
}
]}
pm2 start app.json
查看:
pm2 list//查看当前正在运行的进程
pm2 show0//查看执行编号为0的进程
实时监控:
pm2 monit//监控当前所有的进程
pm2 monit0//监控批评行编号为0的进程
pm2 monit server.js//监控名称为server.js的进程
日志:
pm2 logs//显示所有日志
pm2 logs0//显示执行编号为0的日志
pm2 logs server.js//显示名称为server.js的进程
pm2 flush//清洗所有的数据
相关链接:
pm2官网: http://pm2.keymetrics.io/
pm2-github: https://github.com/Unitech/pm2