Opensourcetechブログ

OpensourcetechによるNGINX/Kubernetes/Zabbix/Neo4j/Linuxなどオープンソース技術に関するブログです。

node.jsによる簡易なWebサーバのようなもの構築 on CentOS6

こんにちは、鯨井貴博@opensourcetechです。

 

 

今回は、

CentOS6上にnode.jsによる簡易なWebサーバのようなものを構築してみようと思います。

 

まず、node.jsですが、以下のような特徴があるJavaScriptとなります。

・サーバサイドで実行される

・non-blocking I/Oで非同期処理により大量アクセスに対応する

 

より詳細情報は、以下のURLなどで確認下さい。

https://nodejs.org/

f:id:opensourcetech:20150802090947p:plain

 

今回使用するnode.jsは、以下のURLで取得可能です。

本日時点では、0.12.7がカレントバージョンになってます。

https://nodejs.org/download/

f:id:opensourcetech:20150802090958p:plain

 

 

①gitのインストール

yum install git

f:id:opensourcetech:20150802091019p:plain

f:id:opensourcetech:20150802091028p:plain

 

②git cloneでリポジトリからクローン

git clone https://github.com/creationix/nvm.git ~/.nvm

f:id:opensourcetech:20150802091035p:plain

 

③nvm.shの実行

source ~/.nvm/nvm.sh

nvm helpで使い方等を確認出来ます。

f:id:opensourcetech:20150802091043p:plain

 

④nvmのインストール

nvm ls-remoteで使用可能なバージョンを確認します。

f:id:opensourcetech:20150802091049p:plain

 

Webサイトにあったカレントバージョンである0.12.7をインストールします。

nvm install 0.12.7

f:id:opensourcetech:20150802091053p:plain

 

node -vでバージョン確認を行います。

f:id:opensourcetech:20150802091057p:plain

 

また、nvm alias defalut v0.12.7でフォルト使用バージョンを固定します。

f:id:opensourcetech:20150802091101p:plain

 

 

⑤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');

f:id:opensourcetech:20150802091105p:plain

 

node test.jsで実行

f:id:opensourcetech:20150802091112p:plain

 

⑥クライアントブラウザからのアクセス

URLに192.168.1.10:8081とすると、

以下のようにレスポンスが返ってきました。

 

⑦おまけでパケットキャプチャを確認

クライアント・サーバ間のパケットキャプチャを

wiresharkで確認すると以下のようにHTTPヘッダ等の情報が確認出来ます。

 

HTTP request

f:id:opensourcetech:20150802091118p:plain

 

HTTP response

f:id:opensourcetech:20150802091122p:plain

 

 

 

 

にほんブログ村 IT技術ブログ Linuxへ
Linux

にほんブログ村 IT技術ブログ オープンソースへ
オープンソース

Opensourcetech by Takahiro Kujirai