如何讓 Node.js 腳本無間斷執行
Node.js 腳本在運行時出錯,便會在控制台列出錯誤說明並且停止繼續運行。當腳本在公開發佈的環境下,我們會希望讓腳本出錯之後自動重新執行,不然的話如果腳本因一個不常見的錯誤停止運行,之後所有用戶都會無法訪問網站。今天要介紹的 PM2 就是用來解決這個問題。
安裝 PM2:
npm install pm2@latest -g
命令 PM2 執行腳本,請把 app.js
替換成要執行的腳本文件路徑:
pm2 start app.js
這樣每當腳本發生錯誤停止運行的時候便會自動重新執行。
停止執行某腳本,請把 0
替換成腳本 id 或 app name (使用 pm2 list
列出所有腳本 id 和 app name):
pm2 stop 0
停止所有正在執行的腳本:
pm2 stop all
命令 PM2 在機器重啟後自動執行腳本:
pm2 startup
取消機器重啟自動執行:
pm2 unstartup
監視所有腳本當前狀況 (可以用來查看當前 console.log() 的輸出):
pm2 monit
console.log() 和運行出錯紀錄儲存在以下目錄:
~/.pm2/logs
安裝 pm2-logrotate
以管理 log 文件,避免文件過大。
pm2 install pm2-logrotate