1.)node守护进程比较node
nodemon:开发环境使用,修改后自动重启。
forever:管理多个站点,每一个站点访问量不大,不须要监控。
pm2:网站访问量比较大,须要完整的监控界面。
2.)pm2主要特性npm
内建负载均衡(使用Node cluster 集群模块)
后台运行
0秒停机重载
开机自启动脚本
中止不稳定的进程(避免无限循环)
控制台检测
提供远程控制和实时的接口API (容许和PM2进程管理器交互)
1.)安装json
$ npm install -g pm2
若pm2 -v 不起做用,把node目录下bin添加到PATH路径里
2.)单个启动bash
$ pm2 start app.js # 启动 $ pm2 start app.js -i 4 # 启动4个应用实例,自动负载均衡 # 监听文件变化,配合pm2 logs,方便本地开发 $ pm2 start app.js --watch
3.)批量启动app
新建.json文件如server.json,配置以下:
{ "apps": [{ "name": "appA", "script": "./appA.js", "watch": false }, { "name": "appB", "script": "./appB.js", "watch": false }] } ---------------------------------- # 再执行: $ pm2 start server.json
批量启动是以restart模式启动,能够屡次执行
4.)重启负载均衡
$ pm2 restart app_name|app_id # 重启 $ pm2 restart all # 重启全部进程,至关stop+start $ pm2 reload all # 0秒停机重载进程 (用于不间断进程)
5.)查看网站
$ pm2 list # 查看进程 $ pm2 logs # 查看日志 $ pm2 show app_name|app_id # 查看进程详情 $ pm2 monit # 查看CPU和内存资源占用
6.)中止rest
$ pm2 stop app_name|app_id $ pm2 stop all # 中止全部
7.)删除日志
$ pm2 delete app_name|app_id # 从列表中删除指定的进程 $ pm2 delete all # 从列表中删除所有进程 $ pm2 kill # 杀死守护进程
8.)开机自启动code
$ pm2 startup # 建立开机自启动命令 $ pm2 save # 保存当前应用列表 $ pm2 resurrect # 从新加载保存的应用列表 $ pm2 unstartup # 移除开机自启动
9.)pm2更新
$ pm2 save # 保存当前应用列表 $ npm install pm2 -g $ pm2 update