node.js foreverでHTTPサーバをデーモン化する

提供: Node.js/JavaScript入門
移動: 案内検索
スポンサーリンク

HTTPサーバ/HTTPサーバ(SPDYを含む)の例を紹介してきましたが、それぞれデーモン化されているわけではありませんでした。node.jsでは、プログラムのデーモン化の方法がいくつかありますが、ここでは、foreverを利用してモジュール化する方法を説明します。

読み方

forever
ふぉーえばー

概要

foreverでは、以下のプログラムをデーモン化できます。

HTTPサーバ(ウェブサーバ)を以下のようなコマンドラインで起動した場合、端末からログアウトできない、http.jsがエラーで落ちた時に、サービスの継続性が失われる、といった問題があります。

$ node http.js

foreverでは、上記の問題を解決するため、プログラムのデーモン化やサービスが落ちたときに自動再起動などの機能を提供します。実際に、プログラムがデーモン化されるのではなく、foreverがデーモン化して、サービスを起動することになります。

foreverの詳細については、node.js foreverによるデーモン化をご参照ください。

インストール

事前準備としてnpmコマンドでforeverモジュールをインストールします。

$ sudo npm install -g forever

ソースコード http.js

ここでは、HTTPサーバを例にとって説明します。

var http = require('http');
var server = http.createServer();
 
server.on('request', doRequest);
server.listen(8080);
 
function doRequest(req, res) {
        res.writeHead(200, {'Content-Type': 'text/plain'});
        res.write('Hello World\n');
        res.end();
}

実行例

foreverのスタート、ストップ、リスタートは、以下の通りです。

$ forever start http.js
$ forever stop http.js
$ forever restart http.js

関連項目




スポンサーリンク