01月032019
PM2常用命令整理
随笔技术知识阅读3314 标签: 运维
> pm2 是一个带有负载均衡功能的Node应用的进程管理器.当你要把你的独立代码利用全部的服务器上的所有CPU,并保证进程永远都活着,0秒的重载,包括守护进程,监控,日志的一整套完整的功能,基本是Nodejs应用程序不二的守护进程选择,事实上它并不仅仅可以启动Nodejs的程序,只要是一般的脚本的程序它同样可以胜任。 ## 安装: ```javascript $ npm install pm2 -g #安装pm2 $ pm2 update # 更新pm2 $ pm2 uninstall pm2 #移除pm2 ``` ## 启动停止重启: ```javascript $ pm2 start app.js # 启动app.js应用程序 $ pm2 start app.js -i 4 # cluster mode 模式启动4个app.js的应用实例 4个应用程序会自动进行负载均衡 $ pm2 start app.js --name="api" # 启动应用程序并命名为 "api" $ pm2 start app.js --watch # 当文件变化时自动重启应用 $ pm2 start script.sh # 启动 bash 脚本 $ pm2 reload id|name|all --重启项目 $ pm2 restart all # 重启所有应用 $ pm2 restart server.js #重启server.js进程 $ pm2 stop all # 停止所有的应用程序 $ pm2 stop 0 # 停止 id为 0的指定应用程序 $ pm2 stop server.js #停止server.js进程 $ pm2 reload all # 重启 cluster mode下的所有应用 $ pm2 gracefulReload all # Graceful reload all apps in cluster mode ``` ## 查看删除: ```javascript $ pm2 list # 列表 PM2 启动的所有的应用程序 $ pm2 show [app-name] # 显示应用程序的所有信息 $ pm2 delete all # 关闭并删除所有应用 $ pm2 delete 0 # 删除指定应用 id 0 ``` ## 日志: ```javascript $ pm2 logs # 显示所有应用程序的日志 $ pm2 logs 0 #显示执行编号为0的日志 $ pm2 logs server.js #显示名称为server.js的进程 $ pm2 logs [app-name] # 显示指定应用程序的日志 $ pm2 flush #清洗所有的数据[注:我没有试出来效果] ``` ## 监控: ```javascript $ pm2 monit #监控当前所有的进程 $ pm2 monit 0 #监控批评行编号为0的进程 $ pm2 monit server.js #监控名称为server.js的进程 ``` ## 其他: ```javascript $ pm2 scale api 10 # 把名字叫api的应用扩展到10个实例 $ pm2 reset [app-name] # 重置重启数量 $ pm2 startup # 创建开机自启动命令 $ pm2 save # 保存当前应用列表 $ pm2 resurrect # 重新加载保存的应用列表 $ pm2 generate # Generate a sample json configuration file $ pm2 start app.js --node-args="--max-old-space-size=1024" ``` ## 相关链接 - pm2官网: http://pm2.keymetrics.io/ - pm2-github: https://github.com/Unitech/pm2
幻灯片
朦胧
热情
清幽
青翠
花红
清新
黑夜