こんにちは、鯨井貴博@opensourcetechです。
今回は、
CentOS6上にnode.jsによる簡易なWebサーバのようなものを構築してみようと思います。
まず、node.jsですが、以下のような特徴があるJavaScriptとなります。
・サーバサイドで実行される
・non-blocking I/Oで非同期処理により大量アクセスに対応する
より詳細情報は、以下のURLなどで確認下さい。
今回使用するnode.jsは、以下のURLで取得可能です。
本日時点では、0.12.7がカレントバージョンになってます。
①gitのインストール
yum install git
②git cloneでリポジトリからクローン
git clone https://github.com/creationix/nvm.git ~/.nvm
③nvm.shの実行
source ~/.nvm/nvm.sh
nvm helpで使い方等を確認出来ます。
④nvmのインストール
nvm ls-remoteで使用可能なバージョンを確認します。
Webサイトにあったカレントバージョンである0.12.7をインストールします。
nvm install 0.12.7
node -vでバージョン確認を行います。
また、nvm alias defalut v0.12.7でフォルト使用バージョンを固定します。
⑤node.js実行ファイルの作成
今回は、test.jsというファイルを作成しました。
内容は以下の通り。
IPアドレス192.168.1.10、TCPポート8081を使用し、
クライアントブラウザからのHTTPリクエストに対して、
「200 OK」のステータスコードと、「Test Page」というHTTP Bodyを返します。
-------
var http = require('http');
http.createServer(function (request, response) {
response.writeHead(200, {'Content-Type': 'text/plain'});
response.end('Test Page\n');
}).listen(8081);
console.log('Server running at http://192.168.1.10:8081');
node test.jsで実行
⑥クライアントブラウザからのアクセス
URLに192.168.1.10:8081とすると、
以下のようにレスポンスが返ってきました。
⑦おまけでパケットキャプチャを確認
クライアント・サーバ間のパケットキャプチャを
wiresharkで確認すると以下のようにHTTPヘッダ等の情報が確認出来ます。
HTTP request
HTTP response