跳至主要內容

pm2

Weipeng Qiao大约 2 分钟

一、pm2 简介

npm-pm2open in new window

PM2 是 node 进程管理工具,可以利用它来简化很多 node 应用管理的繁琐任务,如性能监控、自动重启、负载均衡等,而且使用非常简单。

二、pm2 解决了那些问题?

  1. 在我们使用 node 开发的后端项目部署到服务器上的时候,一般我们会使用node或nodemon命令来执行,此时打开的命令行窗口不能关闭,一旦关闭,项目就无法正常访问,此时可以使用 pm2 来管理此项目。
  2. 每次服务器重启,项目需要手动重启,或者需要使用其他繁琐的方式来启动,此时可以使用 pm2

三、安装 pm2

npm i pm2 -g
#全局安装

四、常用命令

pm2 start app.js | 别名 | ID
# 启动应用
pm2 start app.js --name 别名
## 表示给此应用设置别名并启动项目,后面可以通过别名来管理项目
pm2 start ID
#表示使用ID启动应用,每个项目都有唯一的ID

pm2 restart 别名 | ID
# 重启应用
pm2 stop 别名 | ID
# 停止应用
pm2 stop all
# 停止所有应用
pm2 list 或 pm2 ls
# 查看进程状态
pm2 describe 别名 | ID
# 查看某个进程的信息
pm2 delete 别名 | ID
# 删除进程
pm2 delete all
# 删除所有进程
pm2 logs
# 查看日志

五、pm2 设置开机自启动(按照步骤来做)

  1. 全局安装 pm2
npm i pm2 -g
  1. 安装 window 自启包
npm i pm2-windows-startup -g
  1. 创建开机启动脚本文件
pm2-startup install
  1. 使用 pm2 启动项目
pm2 start app.js | 别名 | ID
  1. 保存 pm2 中的项目
pm2 save
  1. 重启电脑查看
pm2 ls

六、pm2 管理 jar 包并开机自启动

  1. 在 jar 包的同级目录下创建一个 json 文件,名字可以随意取(如:service.json)
{
  "apps": {
    "name": "server",
    "script": "java",
    "args": ["-XX:+UseG1GC", "-jar", "system-3.2.0.jar"],
    "error_file": "./log/err.log",
    "out_file": "./log/out.log",
    "merge_logs": true,
    "log_date_format": "YYYY/MM/DD HH:mm:ss",
    "min_uptime": "60s",
    "max_restarts": 30,
    "autorestart": true,
    "restart_delay": "60"
  }
}

name:在 pm2 中显示的项目名字。
script:表示以何种方式执行该文件,这里是 Java,所以直接写 java。

  1. 运行此项目
pm2 start service.json | 别名 | ID
  1. 如果需要开机自启动参考上面
上次编辑于:
贡献者: qiaoweipeng