Node.js应用默认运行时如果进程意外退出,服务就会直接中断,服务器重启后也需要手动启动应用,很难满足高可用的需求。通过宝塔面板的PM2管理器,我们可以快速实现进程守护和开机自启,提升应用的稳定性。

一、环境准备
首先确保已经安装好宝塔面板,并且服务器上已经部署了需要管理的Node.js应用。如果还没安装PM2管理器,可以按照以下步骤操作:
- 登录宝塔面板,进入软件商店页面
- 在搜索框输入
PM2,找到PM2管理器点击安装,等待安装完成即可 - 安装完成后,进入网站页面,确认你的Node.js项目已经创建并正常运行
二、使用PM2启动Node.js应用
PM2启动应用的方式有两种,一种是通过宝塔面板的图形化界面操作,另一种是通过服务器终端命令操作,两种方式都可以实现进程守护。
方式1:宝塔面板图形化操作
打开PM2管理器页面,点击添加项目按钮,填写以下信息:
| 配置项 | 说明 |
|---|---|
| 项目名称 | 自定义填写,方便后续识别,比如填写为node_app |
| 启动文件 | 选择Node.js应用的入口文件,比如app.js或者server.js |
| 运行目录 | 选择Node.js应用所在的目录 |
| Node版本 | 选择和应用匹配的Node.js版本 |
填写完成后点击提交,PM2就会自动启动应用并开启进程守护,应用崩溃后会自动重启。
方式2:终端命令操作
登录服务器终端,先全局安装PM2(如果已经通过宝塔安装可以跳过这一步):
npm install pm2 -g
进入Node.js应用所在目录,执行以下命令启动应用:
pm2 start app.js --name node_app
其中app.js是你的应用入口文件,--name后面是自定义的项目名称,启动后PM2会自动守护进程。
三、配置PM2开机自启
要实现服务器重启后Node.js应用自动启动,需要配置PM2的开机自启规则,同样有两种操作方式。
宝塔面板配置
在PM2管理器页面,找到你刚才添加的项目,点击右侧的设置按钮,在弹出的窗口中勾选开机自启选项,点击保存即可。
终端命令配置
在终端执行以下命令生成开机自启脚本:
pm2 startup
执行命令后会输出一段提示,按照提示执行对应的命令即可完成自启配置,最后执行以下命令保存当前PM2的进程列表,确保重启后配置生效:
pm2 save
四、常用PM2管理命令
除了基础启动和自启配置,PM2还有很多实用的管理命令,方便你日常维护应用:
- 查看所有运行的应用:
pm2 list - 重启指定应用:
pm2 restart node_app(node_app为项目名称) - 停止指定应用:
pm2 stop node_app - 删除指定应用:
pm2 delete node_app - 查看应用日志:
pm2 logs node_app - 监控应用资源占用:
pm2 monit
五、常见问题排查
如果配置完成后应用还是无法正常运行,可以按照以下步骤排查:
- 检查PM2管理器中的应用状态,如果显示已停止,点击重启查看报错信息
- 查看应用日志,确认是否是代码错误导致进程崩溃
- 检查Node.js版本是否和应用兼容,不匹配的话在PM2管理器中切换版本即可
- 确认开机自启配置是否生效,可以执行
pm2 list查看进程列表,再执行pm2 save重新保存配置
通过以上配置,你的Node.js应用就具备了进程守护和开机自启能力,即使遇到意外崩溃或者服务器重启,也能快速恢复运行,满足高可用的基础要求。