在Ubuntu上自动重启Node.js应用,可以使用以下几种方法:
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启动时自动运行,并在发生故障时自动重启。
如果您更喜欢使用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=<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>替换为您的用户名,将/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启动时自动运行,并在发生故障时自动重启。