pm2常用命令

pm2简要介绍

pm2(process manager)是一个进程管理工具,维护一个进程列表,可以用它来管理你的node进程,负责所有正在运行的进程,并查看node进程的状态,也支持性能监控,负载均衡等功能。

全局安装

1
npm install -g pm2

常用命令

启动

1
2
3
4
5
6
pm2 start app.js // 启动单个app.js进程
pm2 start app.js --watch // 实时监控app.js,当app.js文件有变动时,pm2会自动reload
pm2 start app.js -i 3 // 启动3个app.js进程,启动多个进程之后pm2可以对请求进行负载均衡,提高响应效率以及稳定性
pm2 start app.js -i max // 表示pm2将自动检测可用CPU的数量并尽可能地多运行进程
pm2 start app.js -i 3 --name server // 启动三个进程并将其命名为server
pm2 start npm --name server -i 3 -- run start // **pm2通过package.json启动项目并且将其命名为server,这一个情况在node应用中很常用**

查看进程:

1
2
pm2 list // 查看所有进程信息
pm2 show 0 或者 # pm2 info 0 // 查看指定进程的详细信息,0为PM2进程id

监控

1
pm2 monit // 查看进程的资源消耗情况

停止

1
2
pm2 stop all  // 停止PM2列表中所有的进程
pm2 stop 0 // 停止PM2列表中进程为0的进程

重载

使用重载而不是重启可以实现无中断式重载

1
2
pm2 reload all  // 重载PM2列表中所有的进程
pm2 reload 0 // 重载PM2列表中进程为0的进程

重启

1
2
pm2 restart all  // 重启PM2列表中所有的进程
pm2 restart 0 // 重启PM2列表中进程为0的进程

删除PM2进程

1
2
pm2 delete 0    // 删除PM2列表中进程为0的进程
pm2 delete all // 删除PM2列表中所有的进程

日志操作:

1
2
3
pm2 logs  // 显示所有应用进程的日志
pm2 logs app // 显示app应用的日志
pm2 flush // 清空所有应用的日志

结语

暂时先记录这些常用的命令,后期会进一步整理使用pm2进行自动化部署的相关操作,敬请期待~