PM2是守护进程管理工具,利用它可以简化很多应用方面的管理工作,节约人力投入,比如:性能监控、自动重启、负载均衡等方面。PS:类似的工具还有supervisor
安装
基于npm进行安装,只需要执行下面命令即可:
npm install pm2@latest -g
使用
配置文件
pm2的配置文件支持js、yml、json三种文件类型,下面以json类型为示例,进行说明
[{ "name": "pm2-demo", # 进程名 "cwd": "/data/www", # 执行目录 "script": "/usr/local/bin/node", # 命令目录 "args": "index.js", # 执行参数 "exec_mode": "fork", # 应用模式,“cluster”或“fork”,默认是fork "watch": ["app/Jobs"], # 要监听的目录,false或目录数组,目录文件有改动时自动重启 "ignore_watch": ["app/Logs"], # 忽略监听的目录,支持正则 "min_uptime": "60s", # 启动时最小时间 "max_memory_restart": "150M", # 超过指定内存时会自动重启 "cron_restart": "1 0 1 * *", # 定时重启 "max_restarts": 30, # 最大重启次数 "error_file": "pm2_demo_error.log", # 错误日志 "out_file": "pm2_demo_out.log" # 输出日志}]
常用命令
•pm2 start pm2.json- 启动文件里的所有进程•pm2 restart pm2.json- 重新启动文件里的所有进程•pm2 reload pm2.json- 平滑重新启动文件里的所有进程(restart会杀掉进程)•pm2 scale xx +3- 增加3个xx进程•pm2 scale xx 2- 增加或减少xx进程到2个•pm2 stop xx- 停止xx进程•pm2 delete xx- 删除xx进程•pm2 list- 显示所有进程状态•pm2 show xx- 显示xx进程所有信息•pm2 monit- 监控进程整体状态•pm2 update- 更新PM2•pm2 startup- 创建开机启动脚本文件•pm2 unstartup- 禁止开机启动
界面
进程列表
进程列表界面.png
进程详情
进程详情界面.png
进程监控
进程监控界面.png
参考资料
•PM2官方网站[1]•PM2中文文档[2]
引用链接
[1]PM2官方网站:https://pm2.keymetrics.io/
[2]PM2中文文档:https://wohugb.gitbooks.io/pm2
领取专属 10元无门槛券
私享最新 技术干货