centos

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

小樊
65
2025-03-21 14:08:32
栏目: 编程语言
Centos服务器限时活动,0元免费领! 查看>>

在CentOS上实现Node.js应用程序的自动重启,可以使用以下几种方法:

  1. 使用PM2(推荐)

PM2是一个功能强大的Node.js进程管理器,可以帮助您在CentOS上实现Node.js应用程序的自动重启。首先,您需要安装PM2:

sudo yum install -y nodejs npm
sudo npm install pm2@latest -g

接下来,使用PM2启动您的Node.js应用程序:

pm2 start app.js --name my-app

现在,您的应用程序将在后台运行,并在发生故障时自动重启。您还可以使用以下命令查看应用程序的状态:

pm2 status

要设置PM2在系统启动时自动运行,请执行以下命令:

pm2 startup

然后,保存当前的PM2进程列表,以便在系统重启后恢复:

pm2 save
  1. 使用Systemd

创建一个新的Systemd服务文件:

sudo vi /etc/systemd/system/my-app.service

将以下内容粘贴到文件中,用您的实际应用程序路径和用户替换/path/to/your/app.jsyour-user

[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.js
Restart=always

[Install]
WantedBy=multi-user.target

保存并退出文件。

启用并启动新创建的服务:

sudo systemctl enable my-app.service
sudo systemctl start my-app.service

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

  1. 使用Supervisor

首先,安装Supervisor:

sudo yum install -y epel-release
sudo yum install -y supervisor

接下来,创建一个新的Supervisor配置文件:

sudo vi /etc/supervisord.d/my-app.conf

将以下内容粘贴到文件中,用您的实际应用程序路径替换/path/to/your/app.js

[program:my-app]
command=/usr/bin/node /path/to/your/app.js
autostart=true
autorestart=true
stderr_logfile=/var/log/my-app.err.log
stdout_logfile=/var/log/my-app.out.log
user=your-user

保存并退出文件。

重新启动Supervisor以应用更改:

sudo systemctl restart supervisord

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

sudo supervisorctl status my-app

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

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

0
看了该问题的人还看了