要让 pm2 实现开机自启动 app.js,可以按照以下步骤操作:
- 首先确保已经用
pm2启动了你的应用:
pm2 start app.js --name "my-app" # --name 可选,用于给应用命名
2.保存当前 pm2 管理的应用列表:
pm2 save
3.生成开机自启动脚本:
pm2 startup
执行后会输出一条带 sudo 的命令(类似下面这样),务必复制并运行这条命令:
sudo env PATH=$PATH:/usr/bin /www/server/nodejs/v16.9.0/lib/node_modules/pm2/bin/pm2 startup systemd -u ubuntu --hp /home/ubuntu
4.验证自启动配置是否生效:
pm2 unstartup # 查看当前的自启动配置
5.重启系统后验证:
pm2 list # 查看应用是否自动启动
这些步骤的原理是:
-
pm2 save将当前进程列表保存到~/.pm2/dump.pm2 -
pm2 startup生成对应的系统服务脚本(根据不同系统生成 systemd、upstart 等脚本) -
系统启动时会自动加载保存的进程列表并启动应用
如果后续修改了应用配置,只需重新执行 pm2 save 即可更新自启动配置。