去年はニコ生で見るだけ、でも今年は実際に行ってみたい!ということで、会社の師に連れてってもらうことに。
で、行くからには触っておきたい!ということで。
nodeのインストール!
mp3格納庫と化しているVPSちゃんの出番です。
2012年9月23日時点での安定版は、v0.8.9だそうです。
とはいえパッケージからビルドするやり方にはトラウマがあり、他の手段がないかを探したところ・・。
参考:Installing Node.js via package manager · joyent/node Wiki · GitHub
Nodejs Package Manager、略してnpmを使えばyumでインストールできるっぽい。
書かれてる通り、
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 -v # v0.6.18
どうやらこの方法だと、古いのしかインストールできないぽいです。
とは言え、いつでもキレイに削除できるし、大して最新版との違いもわかってない身としては、
手軽に試してみる分にはコレでいいかと思うことにします。
最新版・新しい安定版じゃなきゃやだ!という場合は、ソースから。
どうにか0.8.9入れれへんかなぁ・・。
コマンドラインでHello World
console.log('Hello World');
hello.jsとして保存して、
node hello.js # Hello World
できた!次!
ブラウザからHello World
var http = require("http"); function onRequest(request, response) { console.log("Request received."); response.writeHead(200, {"Content-Type": "text/plain"}); response.write("Hello World"); response.end(); } http.createServer(onRequest).listen(8888); console.log("Server has started.");
server.jsとして保存して、サーバーのIP:8888としてブラウザでアクセス。
ポート番号は任意。
ブラウザでもHello Worldできた!
今日はここまで。
ハマったところ
iptablesに阻まれるアクセス
というか、期待通りの挙動やけどさ・・。
ポート8888なんて開けてなかったので、何回やっても通らなかった。
sudo vi /etc/sysconfig/iptables # ポート開けて sudo /etc/rc.d/init.d/iptables restart # これでOK!
httpモジュールいれてない
ブラウザからHello Worldの、server.jsの1行目。
var http = require("http"); // httpモジュールを使う宣言
つまり、それインストールしてないとダメ。
Node本体だけじゃダメ。
npm ls # 案の定からっぽだったので・・ npm install http
こうすることで、無事にできるようになりました。
Node起動してない
まさかの凡ミス・・・凡すぎる凹む・・w
node server.js
ってやってから、アクセスです。
やってないとつながるはずがありません。
当たり前や!