2010/10/16

Ubuntu ServerにNode.jsを入れてみた

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