在CentOS系统中,可以使用Systemd或Supervisord来实现Node.js应用程序的自动重启。下面是两种方法的详细步骤:
方法一:使用Systemd
sudo vi /etc/systemd/system/my-nodejs-app.service
User、WorkingDirectory和ExecStart等参数:[Unit]
Description=My Node.js Application
After=network.target
[Service]
Type=simple
User=<your-user>
WorkingDirectory=/path/to/your/nodejs/app
ExecStart=/usr/bin/node /path/to/your/nodejs/app/app.js
Restart=always
RestartSec=3
[Install]
WantedBy=multi-user.target
保存并退出编辑器。
重新加载Systemd配置:
sudo systemctl daemon-reload
sudo systemctl start my-nodejs-app
sudo systemctl enable my-nodejs-app
现在,你的Node.js应用程序将在系统启动时自动运行,并在发生故障时自动重启。
方法二:使用Supervisord
sudo yum install epel-release
sudo yum install supervisor
sudo vi /etc/supervisord.d/my-nodejs-app.conf
command、directory和user等参数:[program:my-nodejs-app]
command=/usr/bin/node /path/to/your/nodejs/app/app.js
directory=/path/to/your/nodejs/app
user=<your-user>
autostart=true
autorestart=true
stderr_logfile=/var/log/my-nodejs-app.err.log
stdout_logfile=/var/log/my-nodejs-app.out.log
保存并退出编辑器。
重新加载Supervisord配置:
sudo supervisorctl reread
sudo supervisorctl update
现在,你的Node.js应用程序将在系统启动时自动运行,并在发生故障时自动重启。
这两种方法都可以实现Node.js应用程序在CentOS系统上的自动重启。你可以根据自己的需求和喜好选择合适的方法。