安装

npm i -g pm2

window

安装并配置 pm2-windows-service

pm2-windows-service可以将 pm2 安装成 windows service, 达到开机运行的目的

npm i -g pm2-windows-service

添加pm2环境变量

添加系统环境变量 PM2_HOME=D:.pm2
右键 [我的电脑] - [属性] - [高级系统设置] - [环境变量] - 新建 [系统变量]
名称PM2_HOME
路径D:.pm2(这路径根据自己需要定)

安装服务

以管理员权限打开新的命令行窗口,执行以下命令来安装服务

pm2-service-install

Perform environment setup ? 选 n, 继续
此时, PM2服务已安装成功并已启动, 可以通过 Wn+R来查看,输入services.msc即可看到服务,可直接关闭cmd窗口

卸载服务

pm2-service-uninstall

linux

创建service

pm2 startup

启动node程序

pm2 start app.js --name myapp

命令

查看服务列表

pm2 l 或 pm2 list

查看日志

pm2 log id

监控程序性能

pm2 monit
pm2 imonit

启动bat等不需要node的程序

pm2 start XXX.bat --interpreter none

启动特殊程序

pm2 start npm -- run <scriptname>
相当于 npm run <scriptname>
-- 表示后面的是执行参数

示例
bat或cmd需要执行以下命令

consul agent -server -datacenter=dc1 -bootstrap -data-dir ./data -node=n1 -bind 127.0.0.1 -client=0.0.0.0 -ui

通过pm2创建 在consul程序目录下执行cmd 若有环境变量,可以在任意地方执行

pm2 start consul.exe --name=consul -- agent -server -datacenter=dc1 -bootstrap -data-dir ./data -node=n1 -bind 127.0.0.1 -client=0.0.0.0 -ui

禁用程序结束或异常退出后的自动重启

pm2 start app.js --no-autorestart

pm2 备份与重启

pm2 dump // 此时会备份 pm2 list 中的所有项目启动方式
pm2 resurrect // 重启备份的所有项目

执行python程序

  • 直接使用python解释器
    pm2 start a.py
  • 创建一个sh文件 执行sh
    start.sh
    python a.py
    pm2 start start.sh

部分问题

  • 通过pm2执行python可能会有 ‘gbk’ codec can’t encode character 的异常 通过node执行也会有这个异常,但是通过cmd直接运行python无异常

  • Anaconda管理的多环境python 需要先activate到指定的环境后 再执行pm2 start 即可