在 CentOS 上实现 Node.js 应用的自动重启,可以使用以下几种方法:
PM2 是一个功能强大的 Node.js 进程管理器,可以帮助您管理和守护 Node.js 应用。要使用 PM2,请按照以下步骤操作:
a. 首先,确保您已经安装了 Node.js 和 NPM。
b. 使用以下命令全局安装 PM2:
sudo npm install pm2 -g
c. 将您的 Node.js 应用启动脚本添加到 PM2:
pm2 start app.js --name my-app
这里,app.js
是您的 Node.js 应用入口文件,my-app
是应用的名称。
d. 保存当前进程列表,以便在服务器重启后自动恢复:
pm2 save
e. 设置 PM2 开机自启:
pm2 startup
现在,您的 Node.js 应用将在 CentOS 上自动重启。
创建一个新的 systemd 服务文件:
sudo vi /etc/systemd/system/my-app.service
将以下内容粘贴到文件中,根据需要进行修改:
[Unit]
Description=My Node.js App
After=syslog.target network.target
[Service]
User=<your-user>
WorkingDirectory=/path/to/your/app
ExecStart=/usr/bin/node /path/to/your/app/app.js
Restart=always
[Install]
WantedBy=multi-user.target
这里,<your-user>
是运行 Node.js 应用的用户,/path/to/your/app
是应用所在的目录。
保存并退出文件。
启用并启动服务:
sudo systemctl enable my-app.service
sudo systemctl start my-app.service
现在,您的 Node.js 应用将在 CentOS 上自动重启。
编辑 crontab 文件:
crontab -e
在文件末尾添加以下内容:
@reboot /usr/bin/node /path/to/your/app/app.js
这里,/path/to/your/app
是应用所在的目录。
保存并退出文件。
现在,您的 Node.js 应用将在 CentOS 上自动重启。但是,与 PM2 相比,这种方法可能不太稳定。因此,我们推荐使用 PM2。