
一般我們執行 NodeJS 的程式,
都是利用 Node filename.js 的指令來啟動程式,
如果只是在自己的機器上測試,
那一點問題都沒有,
但是如果要對外展示或者有不中斷服務的需求時,
該怎麼辦呢?
forever 這個 open source 可以幫助我們!
forever 可以幫助我們監控要執行的 nodejs 程式是否有在執行,
如果該程式掛了,
則可以透過參數設定來重起程式!
要安裝 forever 很簡單,
一樣透過 npm 來安裝!
根據官方說明,
一般建議用全域安裝的方式來安裝。
$ [sudo] npm install forever -g
當然我們也可以在某個特定目錄下安裝!
$ cd /path/to/your/project
$ [sudo] npm install forever
透過
$ forever --help可以查尋 forever 的指令說明,
但一般常用的就是
$ forever start filename.js //啟動程式 $ forever list //列出受 forever 控管的 程式
$ forever stop pid //停止受控管程式的執行forever 除了可以透過命令列來執行,
也可以透過 JavaScript 來進行!
var forever = require('forever'); var child = new (forever.Monitor)('your-filename.js', { max: 3, silent: true, options: [] }); child.on('exit', this.callback); child.start();
有命令列與程式碼,
當然也有強者會寫出網頁管理介面!
git clone https://github.com/FGRibreau/forever-webui.git
cd forever-webui/
npm install
node app.js執行以上指令!
就可以叫出以下介面
理論上所有透過 forever 執行的 程式都可以在這個介面看到,
但不知道是哪裡出了問題,
柯南在自己的環境測試,
當沒有透過 forever 執行程式是這個介面是可以執行的,
但是一但透過 forever 執行程式,
這個介面就會 hang住出不來!
也許有經驗的朋友可以跟大家分享這到底是怎麼一回事。
總而言之,
forever 可以讓 NodeJS 程式永遠死而復生!
不過柯南有個問題是,
那如果 forever 本身掛掉該怎麼辦呢XDD?
PS:
Forever github url : https://github.com/nodejitsu/forever
Forever webui github url: https://github.com/FGRibreau/forever-webui
Technorati Tags: JavaScript, Node.js, Forever, development, programming
留言列表