centos

CentOS上Node.js如何实现自动重启

小樊
46
2025-04-02 17:51:40
栏目: 编程语言
Centos服务器限时活动,0元免费领! 查看>>

在CentOS上,您可以使用Systemd或Supervisord来实现Node.js应用程序的自动重启。这里是两种方法的详细步骤:

方法一:使用Systemd

  1. 创建一个新的Systemd服务文件:
sudo vi /etc/systemd/system/my-nodejs-app.service

my-nodejs-app替换为您的Node.js应用程序的名称。

  1. 将以下内容粘贴到服务文件中,根据需要进行修改:
[Unit]
Description=My Node.js Application
After=network.target

[Service]
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

确保将<your-user>替换为您的用户名,将/path/to/your/nodejs/app替换为您的Node.js应用程序的路径,将app.js替换为您的入口文件。

  1. 保存并关闭文件。

  2. 重新加载Systemd配置:

sudo systemctl daemon-reload
  1. 启动新创建的服务:
sudo systemctl start my-nodejs-app
  1. 设置服务开机自启:
sudo systemctl enable my-nodejs-app

现在,您的Node.js应用程序将在系统启动时自动运行,并在发生故障时自动重启。

方法二:使用Supervisord

  1. 首先,确保您已经安装了Supervisord:
sudo yum install epel-release
sudo yum install supervisor
  1. 启动Supervisord服务并设置开机自启:
sudo systemctl start supervisord
sudo systemctl enable supervisord
  1. 创建一个新的Supervisord配置文件:
sudo vi /etc/supervisord.d/my-nodejs-app.conf

my-nodejs-app替换为您的Node.js应用程序的名称。

  1. 将以下内容粘贴到配置文件中,根据需要进行修改:
[program:my-nodejs-app]
directory=/path/to/your/nodejs/app
command=/usr/bin/node /path/to/your/nodejs/app/app.js
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

确保将<your-user>替换为您的用户名,将/path/to/your/nodejs/app替换为您的Node.js应用程序的路径,将app.js替换为您的入口文件。

  1. 保存并关闭文件。

  2. 重新加载Supervisord配置:

sudo supervisord -c /etc/supervisord.conf -n

现在,您的Node.js应用程序将在系统启动时自动运行,并在发生故障时自动重启。您还可以使用sudo supervisorctl status my-nodejs-app命令查看应用程序的状态。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

相关推荐:Node.js在CentOS上如何实现自动重启

0
看了该问题的人还看了