在CentOS系统中,可以使用Systemd或Supervisord来实现Node.js应用程序的自动重启。下面是两种方法的详细步骤:
方法一:使用Systemd
- 创建一个新的Systemd服务文件:
sudo vi /etc/systemd/system/my-node-app.service
将my-node-app替换为你的Node.js应用程序的名称。
- 在新创建的服务文件中,添加以下内容:
[Unit]
Description=My Node.js Application
After=network.target
[Service]
User=
WorkingDirectory=/path/to/your/node-app
ExecStart=/usr/bin/node /path/to/your/node-app/app.js
Restart=always
RestartSec=3
[Install]
WantedBy=multi-user.target
将替换为运行Node.js应用程序的用户,将/path/to/your/node-app和/path/to/your/node-app/app.js替换为你的Node.js应用程序的实际路径和入口文件。
-
保存并关闭文件。
-
重新加载Systemd配置:
sudo systemctl daemon-reload
- 启动新创建的服务:
sudo systemctl start my-node-app
- 设置服务开机自启:
sudo systemctl enable my-node-app
现在,你的Node.js应用程序将在CentOS系统启动时自动运行,并在发生故障时自动重启。
方法二:使用Supervisord
- 首先,确保已经安装了Supervisord:
sudo yum install epel-release
sudo yum install supervisor
- 创建一个新的Supervisord配置文件:
sudo vi /etc/supervisord.d/my-node-app.conf
将my-node-app替换为你的Node.js应用程序的名称。
- 在新创建的配置文件中,添加以下内容:
[program:my-node-app]
directory=/path/to/your/node-app
command=/usr/bin/node /path/to/your/node-app/app.js
user=
autostart=true
autorestart=true
stderr_logfile=/var/log/my-node-app.err.log
stdout_logfile=/var/log/my-node-app.out.log
将替换为运行Node.js应用程序的用户,将/path/to/your/node-app和/path/to/your/node-app/app.js替换为你的Node.js应用程序的实际路径和入口文件。
-
保存并关闭文件。
-
重新加载Supervisord配置:
sudo supervisord -c /etc/supervisord.conf -n
现在,你的Node.js应用程序将在CentOS系统启动时自动运行,并在发生故障时自动重启。
这两种方法都可以实现Node.js应用程序在CentOS中的自动重启。你可以根据自己的需求和喜好选择其中一种方法。
以上就是关于“Node.js在CentOS中如何实现自动重启”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm