Pm2 是一个依赖于 Node 的进程管理器,可以自动管理应用的运行并自动配置负载均衡,具有运行监控、自动启动等特性,非常使用于 Issa 构架的应用程序,也可以在系统中用于独立应用程序的运行管理。


安装 Pm2

由于 Pm2 依赖于 NodeJs 运行,且需要 Node 的版本>=8.0,所以需要提前确定本地环境的 NodeJs 版本,可以参考此处,对于还未安装 NodeJs 的运行环境,请看这里

在控制台输入sudo npm install [email protected] -gsudo yarn global add pm2即可完成 Pm2 的安装。

使用 Pm2 来管理应用程序

先使用 Pm2 拉起程序

控制台运行以下命令(可按照需求加上 sudo)

1
2
3
4
$ pm2 start urapp              #这里将要加入管理的应用地址写入到urapp位置即可
$ pm2 start app -i 4 # cluster mode 模式启动4个app.js的应用实例会自动进行负载均衡
$ pm2 start app --name="app" # 启动应用程序并命名为 "api"
$ pm2 start app --watch # 当文件变化时自动重启应用

显示 Pm2 监管中的应用程序

控制台输入即可打印出后台运行的应用程序

1
2
3
4
$ pm2 list            #显示目前运行的应用程序
$ pm2 log #显示应用程序运行时的输出信息
$ pm2 logs APP-NAME #显示指定的应用程序运行时的输出信息
$ pm2 monit # 显示每个应用程序的CPU和内存占用情况

pm2-list

管理应用程序的运行

使用 Pm2 命令管理应用程序的相关启动行为

1
2
3
$ pm2 stop    appid     暂停应用程序   #输入运行中的appid,可在pm2 list中查看
$ pm2 restart appid 重启应用程序 #输入运行中的appid,可在pm2 list中查看
$ pm2 delete appid 删除应用程序 #输入运行中的appid,可在pm2 list中查看

重新载入应用程序以便应用更改

使用以下命令即可在不间断的条件下更新应用程序配置

1
$ pm2 reload all

更新 PM2 程序

使用 npm 更新 PM2 程序

1
2
3
$ pm2 save                #保存当前进程
$ npm install pm2 -g #安装更新程序
$ pm2 update #更新。。。。