PM2及其常用命令


PM2(Process Manager 2)是基于node.js的守护进程管理器,允许持久化的保持应用的活跃状态。

安装

直接通过npm或yarn全局安装就好

1
2
3
4
# npm
npm i pm2 -g
# yarn
yarn global add pm2

常用命令

启动应用

1
2
3
4
5
6
7
8
9
10
11
12
# 启动app.js应用
pm2 start app.js
# 启动脚本app.sh
pm2 start app.sh
# 启动应用并设置应用名称marry,或是重命名应用
pm2 start app.js --name marry
# 启动指定名称为marry的应用
pm2 start marry
# 监听模式,当文件发生变化,自动重启
pm2 start app.js --watch
# 执行npm具体命令,对应npm run stage(注意run前的空格!)
pm2 start npm -- run stage

停止应用

1
2
3
4
# 停止所有应用
pm2 stop all
# 停止应用名为marry的应用(应用名通过--name指定)
pm2 stop marry

删除应用

1
2
3
4
# 删除所有应用
pm2 delect all
# 删除应用名为marry的应用
pm2 delect marry

重启应用

1
2
3
4
# 重启所有应用
pm2 restart all
# 重启应用名为marry的应用
pm2 restart marry

应用列表

1
2
3
4
5
6
# 保存当前应用列表
pm2 save
# 重启保存的应用列表
pm2 resurrect
# 清除保存的应用列表
pm2 cleardump

自启动服务

1
2
3
4
# 注册自启动服务
pm2 startup
# 禁用和删除自启动服务
pm2 unstartup

其他命令

1
2
3
4
5
6
7
8
# 查看应用列表
pm2 list 或 pm2 ls
# 查看应用占用情况
pm2 monit
# 查看pm2的日志
pm2 log
# 查看marry应用的日志
pm2 log marry

linux上pm2开机自启动

以nodejs项目为例

1
2
3
4
5
6
7
8
9
10
# 启动应用
pm2 start npm --name marry-blog-api -- run stage
# 保存为应用列表
pm2 save
# 创建系统服务,--service-name <name> 自定义服务名,默认服务名为 pm2-root
pm2 startup
# 系统服务开机自启动
systemctl enable pm2-root
# 重启服务器
reboot

参考

官方文档
pm2介绍及简易使用手册