2012年2月29日

【AWS】EC2でnode.js v0.7.5をやってみた

今日はサーバサイドのプログラムを少々。

流行りに乗って、node.jsをAWSのUbuntuで試してみましたので、
導入からHello Worldまでをざっくりと解説したいと思います。

今回導入したバージョンはなんと最新版のv0.7.5です。
(unstableだっていいじゃない、だってv1.0以下なんだもの)

まずは、Instanceはすでにお持ちだと思いますので、
下記コマンドを順々に実行し、インストールします。
(sudoしなければいけないところはしてください。mkdirに775するのは癖です。)
apt-get install build-essential
apt-get install libssl-dev
cd /usr/local/src
mkdir -m 775 node
cd node
wget http://nodejs.org/dist/v0.7.5/node-v0.7.5.tar.gz
tar zxvf node-v0.7.5.tar.gz
rm node-v0.7.5.tar.gz
cd node-v0.7.5
./configure
make
make install

ざっくり説明すると、
  1. コンパイルに必要なモジュールのインストール
  2. node.js本体のダウンロードと展開
  3. nodeのコンパイルとインストール
って感じでやってます。
makeが30分ぐらい掛かったので、注意が必要です。

次に、サンプルプログラムを作りましょう。
cd /var/www
mkdir -m 775 node
vi sample.js

sample.jsを作成しますが、
作成する前にEC2のIPが必要になります。
ifconfigコマンドのeth0のIPは必要ならばメモしておきましょう。
AWSのManagement ConsoleのPrivate IP Addressなので、
そちらから参照も出来ます。

sample.js

var http = require('var http = require('http');
http.createServer(function(req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World\n');
}).listen(3000, "AWSのPrivate IP Addressをここに書く");
これで、このプログラムはPrivate IP Addressのポート3000をListenします。

ではnode.jsを起動します。
node sample.js

これで起動しました。

最後にアクセスといきたいところですが、
その前に3000番ポート開いてますか?
Security Groupの設定で、自分で設定したポートは開けておいてくださいね。

では、ホントに最後に、アクセスですが、
http://{AWSのPublic DNS}:{ポート番号}
でアクセス出来ます。

Hello Worldと表示されれば終了です。

されましたか?
おめでとうございます。

また次回もよろしくお願いします。