pm2
大约 2 分钟
一、pm2 简介
PM2 是 node 进程管理工具,可以利用它来简化很多 node 应用管理的繁琐任务,如性能监控、自动重启、负载均衡等,而且使用非常简单。
二、pm2 解决了那些问题?
- 在我们使用 node 开发的后端项目部署到服务器上的时候,一般我们会使用
node或nodemon命令来执行,此时打开的命令行窗口不能关闭,一旦关闭,项目就无法正常访问,此时可以使用 pm2 来管理此项目。 - 每次服务器重启,项目需要手动重启,或者需要使用其他繁琐的方式来启动,此时可以使用 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 设置开机自启动(按照步骤来做)
- 全局安装 pm2
npm i pm2 -g
- 安装 window 自启包
npm i pm2-windows-startup -g
- 创建开机启动脚本文件
pm2-startup install
- 使用 pm2 启动项目
pm2 start app.js | 别名 | ID
- 保存 pm2 中的项目
pm2 save
- 重启电脑查看
pm2 ls
六、pm2 管理 jar 包并开机自启动
- 在 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。
- 运行此项目
pm2 start service.json | 别名 | ID
- 如果需要开机自启动参考上面