Node.js 第2弾(HTTPサーバを立ち上げ)

やっと、Node.jsの記事を書きます!
早くも1年近く経過している気がしますが、気のせいですr(^ω^*)

Node.jsはHTTPサーバーやHTTPクライアントを実装したhttpモジュールが用意されています。なので、webアプリケーションを利用する際には、このモジュールに含まれているhttp.Serverクラスを使うのが一般的です。

では、早速HTTPサーバを立ててみましょう!!
最初は「Hello World」と表示してみます。おなじみですね(。-_-。 )ノ

1008番ポートを利用してHTTPサーバの待ち受けを開始するには次のように指定します。「//」で書いてある部分はコメントになります。一応どのような処理をしているか書いてみました。

$ vi test.js
~
// HTTPモジュールの呼び出し
var http = require('http');

// http.Serverクラスのインスタンスの作成
var server = http.createServer();
server.on('request', function (request, response) {

  // ステータスコード200でHTTPレスポンスヘッダを出力する
  response.writeHead(200, {'Content-Type': 'text/plain'});

  // Hello Worldと表示し、レスポンスを終了
  response.end('Hello World\n');
});

// listenメソッドを実行し、待ち受け開始(1008番ポート)
server.listen(1008);

// コンソールにログを出力
console.log('Server running at http://www.nightmare-yk.com:1008/');
~

 

これを以下のように実行してみます。あっ、ちなみにforeverはnode.jsスクリプトをデーモン化するツールです。これは、最後に説明をします(o ̄∀ ̄)ノ

# forever test.js
warn:    --minUptime not set. Defaulting to: 1000ms
warn:    --spinSleepTime not set. Your script will exit if it does not stay up for at least 1000ms
Server running at http://www.nightmare-yk.com:1008/

 

ちゃんとコンソールに設定したログが表示されていますね!
ブラウザでは以下のように表示されました。
node.js画面

apache等のWebサーバを上げる必要がなく、簡単ですねヽ( ´ ▽ ` )ノ

■ foreverコマンド
foreverコマンドは、以下のようにインストールができます。

# npm install forever -g
npm http GET https://registry.npmjs.org/forever
npm http 200 https://registry.npmjs.org/forever
:
:

 

実際に使ってみましょう!
プログラムを永続的に起動する方法は以下です。

# forever start test.js
warn:    --minUptime not set. Defaulting to: 1000ms
warn:    --spinSleepTime not set. Your script will exit if it does not stay up for at least 1000ms
info:    Forever processing file:

 

起動できたか確かめるため、永続的に起動したアプリ一覧を表示します。

# forever list
info:    Forever processes running
data:        uid  command       script   forever pid  logfile                 uptime
data:    [0] cGtT /usr/bin/node test.js 4303    4305 /root/.forever/cGtT.log 0:0:0:57.294

 

起動できていますね☆
起動したプログラムは一覧の0番目になっているので、0を指定してアプリを終了させます。

# forever stop 0
info:    Forever stopped process:
data:        uid  command       script   forever pid  logfile                 uptime
[0] cGtT /usr/bin/node test.js 4303    4305 /root/.forever/cGtT.log 0:0:1:50.108

 

どうでしたでしょうか?
次はより実践的な書き方について紹介したいと思います(*^▽^*)ノ


コメントを残す

メールアドレスが公開されることはありません。