Node.js应用如何在Ubuntu上自动重启

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

  1. 使用PM2(推荐)

PM2是一个功能强大的Node.js进程管理器,可以帮助您管理和守护Node.js应用程序。要使用PM2,请按照以下步骤操作:

a. 首先,确保您已经安装了Node.js和npm。如果没有,请访问Node.js官方网站(https://nodejs.org/)下载并安装。

b. 使用npm全局安装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开机自启动:

pm2 startup

按照提示操作,生成开机自启动配置。

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

pm2 save

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

  1. 使用systemd

如果您更喜欢使用systemd来管理您的Node.js应用程序,可以按照以下步骤操作:

a. 创建一个新的systemd服务文件:

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

这里,my-app是您的Node.js应用程序的名称。

b. 将以下内容粘贴到服务文件中,根据需要进行修改:

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

[Service]
User=
WorkingDirectory=/path/to/your/app
ExecStart=/usr/bin/node /path/to/your/app/app.js
Restart=always

[Install]
WantedBy=multi-user.target

替换为您的用户名,将/path/to/your/app替换为您的应用程序目录。

c. 保存并关闭文件。

d. 重新加载systemd配置:

sudo systemctl daemon-reload

e. 启动您的Node.js应用程序:

sudo systemctl start my-app

f. 设置开机自启动:

sudo systemctl enable my-app

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