[node.js] forever

最近一直在趕關於 node.js 的文章。因為想整理並分享在之前構建的 Side Effect Studio 網站 中所使用的技術,所以關於 node.js 的內容一直在連續發布。得趕快整理完,然後去看看其他的東西才行。呵。

去年曾經發過一篇名為 使用 Upstart 和 Monit 服務 node.js 應用程式 的文章,這雖然相當實用,但在管理層面上卻相當麻煩。建立 Upstart 腳本、將規則套用到 Monit 等工作,其實有點瑣碎。由於當時不知道其他替代方案,所以一直使用 Upstart 和 Monit,但在那篇文章之後,出現了一個名為 forever 的工具,它可以管理 node 應用程式的實例。

forever 可以使用 npm 透過 npm install forever 指令輕鬆安裝。它是一個非常方便的工具,可以透過極簡單的指令執行 node.js 建立的應用程式,並在意外終止時重新啟動,或是將 stdout 儲存為日誌檔案來進行管理。 使用之後發現,雖然有一點小 Bug,但與原本的 Upstart 和 Monit 組合相比,其易用性實在太好,所以我已經將所有 node.js 應用程式的管理都遷移到 forever 了。

usage: forever [start | stop | stopall | list | cleanlogs] [options] SCRIPT [script options]

options:
start          以 daemon 方式啟動 SCRIPT
stop           停止 daemon SCRIPT
stopall        停止所有正在執行的 forever 腳本
list           列出所有正在執行的 forever 腳本
cleanlogs      [小心使用] 刪除所有歷史 forever 日誌檔案


forever 的用法如上所示。 想要註冊的腳本,只需執行 forever start app.js 即可。查看處理程序時,會發現有一個獨立的 forever 處理程序,若執行的 app.js 處理程序死亡,它會自動重新啟動。若想查看目前正在執行的腳本,可以執行 forever list

使用 forever 註冊 node 應用程式的畫面


結束處理程序時,可以使用前面的編號執行 forever stop 編號 因為一眼就能掌握目前使用了哪些處理程序,並且會自動連接 log 檔案,所以使用起來非常方便。

結束已註冊 node 應用程式的畫面




就目前短暫的使用經驗來看,它似乎相當穩定。(雖然因為沒什麼連線數,導致 fatal 的機率很低,所以不見得準確,純粹是感覺.. ㅡㅡ;;)不過,偶爾會出現小 Bug,比如使用 forever start 註冊應用程式時,處理程序雖然正常啟動,但卻沒有註冊到 forever 中,導致在列表中看不到。儘管測試了多次,但還是沒找到規律。這種時候,必須強制終止該腳本及其對應的 forever 處理程序後重新註冊。除了這點之外,無論是管理還是使用都非常方便,真的很好。


出處 : http://blog.outsider.ne.kr/590

AD