1,2年前から「これで勝つる」とネットでちょこちょこ言われている「node.js」をインストールしてみた。
インストールはCentOSなら上記URLを参考に簡単にインストールできまする。
wget http://nodejs.tchol.org/repocfg/el/nodejs-stable-release.noarch.rpm
yum localinstall --nogpgcheck nodejs-stable-release.noarch.rpm
yum install nodejs-compat-symlinks npm
rm nodejs-stable-release.noarch.rpm
で、ついでにnode.jsでのメジャーなフレームワークの「express」もついでにインストール。
Express – node.js web application framework
http://expressjs.com/
とりあえずうちのサーバではこんな感じで動作してます。
と言ってもテキストを少し表示させてるだけですが。
node.rutti.net
node.jsはとりあえずポート8000でlistenさせておいて、Apacheでnode.rutti.netにアクセスが来たらポートを80から8000に書き換えるように処理してます。
expressのHTMLの記述が独特でデザインが面倒そうな印象あり。
で、試しにインストールしてみたもののnode.jsを使う必要性は今の自分には無いなぁと思ひまふ。
node.jsで動いてるメジャーなwebサービスと言えばピグライフになるんかな?
[大図解]ピグライフはこう動いている
http://www.slideshare.net/akuwano/ss-8876695
そもそも何故にnode.jsが頭角を現してきたか、という話になりますが
WEBサーバはハードウェアのスペックにかかわらず同時接続数が1万になるとアクセスをさばけなくなる「C10K問題」とかいうのがあるそうな。
node.jsならそうした問題も起こさずに大量のアクセスも捌けるとのこと。
他にも、非同期だとかノンブロッキングだとかJavaScriptだからとかnode.jsの利点はいろいろあるようですが、
単純にC10K問題だけの理由ならnginx(エンジンエックス)でも良いような気もするんですがどうなんでしょ。