forever
一般我們執行 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-webui
理論上所有透過 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: , , , ,

arrow
arrow
    全站熱搜

    賽拉維‧柯南 發表在 痞客邦 留言(0) 人氣()