Node 程式守護

ImShengli發表於2019-02-16

背景

在採用 egg 或 express 進行 Node 應用開發時,開發環境和生成環境是不一樣的。

比如在 egg 中,開發時採用命令 npm run dev
而在生產環境中需要採用egg-scripts進行生產環境的部署。

在一般的 Node 應用中,如果我們想讓 Node 可以在後臺執行,在關閉時,這個程式依然存在,
我們把它叫做“程式守護”。

下面介紹一些常用的程式守護的方式。

nohup 命令

例如:nohup /root/start.sh &

forever

forever start app.js          #啟動
forever stop app.js           #關閉
forever start -l forever.log -o out.log -e err.log app.js   #輸出日誌和錯誤

連結:https://github.com/foreverjs/…

pm2

pm2 start app.js;//啟動專案
pm2 start app.js --watch;//啟動專案並監聽變化重啟

pm2 list    ;//獲取程式列表,每個列表都有id
pm2 monit  ;//檢視所有程式詳情

pm2 stop    ;//後面跟`id|name|all|json|stdin`;
pm2 stop --watch 0 ;//停止監聽0
pm2 restart ;//後面跟`id|name|all|json|stdin` ;
pm2 delete  ;//後面跟`name|id|script|all|json|stdin`;

連結:http://pm2.keymetrics.io/

相關文章