在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啟動時自動運行,并在發生故障時自動重啟。