[教學] 使用forever 監控NodeJS程式. Use forever watch nodejs program.

NodeJS裡面最常遇到就是程式流程異常,導致整個程式毀掉,而這個結果小則導致跳出例外處理,大則變成整個NodeJS異常關閉。如果是一個已經上線的程式,怎麼可以讓這種事情發生呢!而且整個監控無法開啟多個process來處理,每次希望做個測試,都需要先把正在執行的process關閉(kill process)。

其實我的需求很簡單:

  1. 能夠讓NodeJS程式背景執行
  2. 同時能夠執行數個NodeJS程式
  3. 當程式當掉能夠自動重起

因此找到了一套npm的cli 工具 – forever,由Charlie Robbins所建立的Open source 專案,目前這個監控工具也使用於nodejitsu cloud service,所以理論上可以放心使用,大膽的測試,畢竟是open source,如果覺得不符合自己預期,可以直接修改程式碼。

使用方法:
首先必須先安裝

輸入指令

npm install forever<br></br>

Fover 安裝成功,forever 的使用參數如下:
1. start path
開始執行程式
2. stop foreverid
停止執行程式
3. restart forever
id
重新執行程式
3. list
列出目前執行程式
4. cleanlogs
將目前所有log清除

如果還不清楚可以直接輸入“forver”,會顯示所有參數說明。

範例
這邊準備兩個server 端程式
- 1. nodeJS simple server - 2. node chat server

執行這兩個server程式
forever start ~/nodejs/server.js<br></br>forever start ~/nodejs/chat/server.js<br></br>

開瀏覽器看看程式是否真的能同時運作:

輸入list看一下目前程式狀況

forever list<br></br>

最前面就是forver_id, 程式名稱, 執行路徑, 後面是log位置,所以可以進到log裡面或使用tail去監看目前程式的狀態。

當然如果要關掉可以直接執行:

forever sopt 0<br></br>

結語:

foever目前運作狀況都還蠻順利的,而且可以做即時的監控,也有寫一些毀所程式錯誤,的確forever也可以正常讓程式再度運行,感覺上是一套不錯使用的npm模組。

歡迎大家分享nodeJS的使用體驗,如果有興趣歡迎加入NodeJS Taiwan,希望能夠得到更多回應及分享。

CaesarChi

Web developer, focus on website fullstack, special JavaScript, and love sharing developing experience and communicate with developers. http://about.me/clonn