「node.js foreverでHTTPサーバをデーモン化する」の版間の差分
提供: Node.js/JavaScript入門
(ページの作成:「HTTPサーバ/HTTPサーバ(SPDYを含む)の例を紹介してきましたが、それぞれデーモン化されているわけではありませんでした。node.j...」) |
(相違点なし)
|
2014年9月7日 (日) 14:07時点における最新版
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