PM2 监控 Spring Boot 项目运行
更多 PM2 的用法介绍请参考: PM2简易使用手册 - 掘金
由于 PM2 通常都用于 node 应用, 所以 exec_mode
应写为 fork
, 其中最重要的是 args
, -jar
和 jar 包所在的位置应该注明, 如果需要提供其他参数, 也要在 args
中一并注明.
假设创建如下所示的 fz.json
, 使用命令 pm2 start fz.json
即可运行 fz.jar
. 使用命令 tail -f /home/imzhizi/log/fz-out.log
还可以查看运行日志.
{
"name": "fz",
"script": "/usr/bin/java",
"args": [
"-jar",
"/home/imzhizi/tcm-fz/target/fz.jar",
"--spring.profiles.active=prod"
],
"exec_interpreter": "",
"exec_mode": "fork",
"error_file" : "/home/imzhizi/log/fz-err.log",
"out_file" : "/home/imzhizi/log/fz-out.log"
}
几点经验:
- 通过 json 启动之后, 就可以直接使用 json 文件中的名称来对项目进行控制, 如
pm2 stop name
; - 每次重新打包之后, 使用
pm2 restart name
就可以更新项目; - 如果修改了 json 文件, 就无法通过
restart
更新项目了, 必须要先pm2 del name
然后再重新pm2 start xx.json
.