centos

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

小樊
34
2025-06-18 08:22:16
栏目: 编程语言

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

  1. 使用 PM2(推荐)

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 上自动重启。

  1. 使用 systemd

创建一个新的 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 上自动重启。

  1. 使用 cron

编辑 crontab 文件:

crontab -e

在文件末尾添加以下内容:

@reboot /usr/bin/node /path/to/your/app/app.js

这里,/path/to/your/app 是应用所在的目录。

保存并退出文件。

现在,您的 Node.js 应用将在 CentOS 上自动重启。但是,与 PM2 相比,这种方法可能不太稳定。因此,我们推荐使用 PM2。

0
看了该问题的人还看了