Node.js 应用在 Linux 上如何实现自动重启

在 Linux 上,有多种方法可以实现 Node.js 应用的自动重启。以下是一些常用的方法:1. 使用 PM2PM2 是一个非常流行的 Node.js 进程管理器,可以轻松实现应用的自动重启。安装 PM2npm install pm2 -g启动应用pm2 start app.js –name my-app配置自动重启PM2 可以配置为在应用崩溃或服务器重启时自动重启。pm2 st

Linux 上,有多种方法可以实现 Node.js 应用的自动重启。以下是一些常用的方法:

1. 使用 PM2

PM2 是一个非常流行的 Node.js 进程管理器,可以轻松实现应用的自动重启。

安装 PM2

npm install pm2 -g

启动应用

pm2 start app.js --name my-app

配置自动重启

PM2 可以配置为在应用崩溃或服务器重启时自动重启。

pm2 startup
pm2 save

pm2 startup 会生成一个启动脚本,pm2 save 会将当前的进程列表保存到磁盘,以便在服务器重启后自动恢复。

2. 使用 systemd

systemd 是 Linux 系统的服务管理器,可以用来管理 Node.js 应用的启动和停止。

创建 systemd 服务文件

创建一个服务文件 /etc/systemd/system/my-app.service

[Unit]
Description=My Node.js Application
After=network.target

[Service]
ExecStart=/usr/bin/node /path/to/your/app.js
Restart=always
User=your-user
Environment=NODE_ENV=production
Environment=PORT=3000

[Install]
WantedBy=multi-user.target

启动服务

sudo systemctl daemon-reload
sudo systemctl start my-app
sudo systemctl enable my-app

3. 使用 Supervisor

Supervisor 是一个进程控制系统,可以用来监控和控制多个进程。

安装 Supervisor

sudo apt-get install supervisor -y

配置 Supervisor

创建一个配置文件 /etc/supervisor/conf.d/my-app.conf

[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
environment=NODE_ENV="production",PORT="3000"

更新 Supervisor 配置并启动应用

sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start my-app

4. 使用 Cron 和 Shell 脚本

虽然这种方法不如前面几种方法稳定,但也可以实现自动重启。

创建 Shell 脚本

创建一个脚本 restart-app.sh

#!/bin/bash
pm2 restart my-app

赋予脚本执行权限

chmod +x restart-app.sh

使用 Cron 设置定时任务

编辑用户的 crontab 文件:

crontab -e

添加一行来定期重启应用:

* * * * * /path/to/restart-app.sh

以上方法各有优缺点,可以根据具体需求选择合适的方法来实现 Node.js 应用的自动重启。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/1423099.html

(0)
派派
上一篇 2025-09-29
下一篇 2025-09-29

发表回复

登录后才能评论