Node.jsという名前だけ聞いていたのでてっきりjQueryのようなクライアントサイドのライブラリーかと思ってましたが、JavaScriptでサーバーサイドのコードを記述できるというすごいやつ。
環境はRackspace CloudのUbuntu 10.04です。
apt-get update
apt-get upgrade
apt-get install git-core
apt-get install build-essential
apt-get install libssl-dev
git clone git://github.com/ry/node.git
cd node/
./configure
make
make install
GitでNode.jsをダウンロードして、makeしてインストールしてます。
ただ、これでやるとちょっとだけ駄目な部分がある。それが実際どう悪いのかいまいち分かってないんですけど;p
# ./configure
Checking for program g++ or c++ : /usr/bin/g++
Checking for program cpp : /usr/bin/cpp
Checking for program ar : /usr/bin/ar
Checking for program ranlib : /usr/bin/ranlib
Checking for g++ : ok
Checking for program gcc or cc : /usr/bin/gcc
Checking for gcc : ok
Checking for library dl : yes
Checking for openssl : not found
Checking for function SSL_library_init : yes
Checking for header openssl/crypto.h : yes
Checking for library rt : yes
Checking for fdatasync(2) with c++ : yes
'configure' finished successfully (2.825s)
あと、Rackspace Cloudのサーバだとmakeに買った時間は3分50秒。
Amazon EC2のmicro instanceでmakeをしたら17分55秒かかりました。まさか個々まで差が出るとは思ってなかったので少々この結果には驚きです。
インストールが完了させて、動かしてみる。
例えばsample.jsと言う名前で
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(8124);
console.log('Server running');
を書き込んで、保存して、
# node sample.js
Server running
となれば実行。
あとはRackspaceのIPにポートを指定して、アクセスしてあげると “Hello World”と表示出来て成功。
公式サイト node.js
API ドキュメント node(1) -- evented I/O for V8 JavaScript