興味深いというか、これをつかった何かができるんじゃないか?って思いながらのインストール作業メモ。
node.jsってなんぞや?とか、いろいろ調べていたところ、図で分かりやすいページを発見したんで、ご紹介。
2010年11月10日現在の記事だけど、丁寧な説明。node.jsとWebSocketの利用シーン « Business RIA 研究所
http://bizria.jp/technical/nodejs-webssocket.html
で、本題。
Node.js
公式サイト:http://nodejs.org/
以下、wikiより引用。
Node.js はUnix系プラットフォーム上のV8 JavaScriptエンジンでイベント化された入出力を扱うフレームワークである。Webサーバなどのスケーラブルなネットワークプログラムの記述を意図している。
Node.jsはPythonのTwisted、PerlのPerl Object Environment、RubyのEventMachineと同様の目的を持つ。 ほとんどのJavaScriptとは異なり、Webブラウザの中で実行されるのではなく、サーバサイドJavaScriptに関連している。 Node.jsはいくつかのCommonJS仕様を実装している[1]。 Node.jsは対話的なテスト用にREPL(Read-eval-print loop)環境を含んでいる。
今回インストールするうえで非常に参考になったブログをご紹介!
ServersMan@VPS node.js のインストール
SE奮闘記 node.js, socket.ioをInstallしてWebSocketを試す(Install編)
感謝です。
では、コマンドライン張りつけ。
まずは、gitから簡単にインストールできるようにyum経由インストールを実行。
# yum install git
これを入れちゃえば、絵の通りになるから簡単にインストールできます。
node.jsのコンパイルに必要なパッケージもインストールする必要があります。
# yum install gcc-c++ openssl-devel
こう書くことで、依存性解決もyum自信がやってくれます。
実際のログはこちら。
# yum install gcc-c++ openssl-devel
読み込んだプラグイン:refresh-packagekit
インストール処理の設定をしています
依存性の解決をしています
–> トランザクションの確認を実行しています。
—> Package gcc-c++.i686 0:4.6.0-9.fc15 will be インストール
–> 依存性の処理をしています: libstdc++-devel = 4.6.0-9.fc15 のパッケージ: gcc-c++-4.6.0-9.fc15.i686
—> Package openssl-devel.i686 0:1.0.0d-1.fc15 will be インストール
–> 依存性の処理をしています: krb5-devel のパッケージ: openssl-devel-1.0.0d-1.fc15.i686
–> トランザクションの確認を実行しています。
—> Package krb5-devel.i686 0:1.9-7.fc15 will be インストール
–> 依存性の処理をしています: libselinux-devel のパッケージ: krb5-devel-1.9-7.fc15.i686
–> 依存性の処理をしています: libcom_err-devel のパッケージ: krb5-devel-1.9-7.fc15.i686
–> 依存性の処理をしています: keyutils-libs-devel のパッケージ: krb5-devel-1.9-7.fc15.i686
—> Package libstdc++-devel.i686 0:4.6.0-9.fc15 will be インストール
–> トランザクションの確認を実行しています。
—> Package keyutils-libs-devel.i686 0:1.2-7.fc15 will be インストール
—> Package libcom_err-devel.i686 0:1.41.14-2.fc15 will be インストール
—> Package libselinux-devel.i686 0:2.0.99-4.fc15 will be インストール
–> 依存性の処理をしています: libsepol-devel >= 2.0.32-1 のパッケージ: libselinux-devel-2.0.99-4.fc15.i686
–> 依存性の処理をしています: pkgconfig(libsepol) のパッケージ: libselinux-devel-2.0.99-4.fc15.i686
–> トランザクションの確認を実行しています。
—> Package libsepol-devel.i686 0:2.0.42-2.fc15 will be インストール
–> 依存性解決を終了しました。依存性を解決しました
パッケージとしてインストールされたのは以下の通り。
gcc-c++
openssl-devel
依存性関連でのインストールをします。:
keyutils-libs-devel
krb5-devel
libcom_err-devel
libselinux-devel
libsepol-devel
libstdc++-devel
次はnvmのInstallです。
このnvmとは、Node Version Manager のことで、Node.js のインストール、バージョンごとの管理、シェルの環境設定をやってくれるんで、助かります。
# nvm install v0.4.8
ってコマンド入れたら、
-bash: nvm: コマンドが見つかりません
おぉ、、、いれなきゃ。
ということで、
# git clone git://github.com/creationix/nvm.git ~/.nvm
gitで指定されたURLを貼るだけ。
https://github.com/creationix/nvm#readme
ログは以下の通り。
# git clone git://github.com/creationix/nvm.git ~/.nvm
Cloning into /root/.nvm...
remote: Counting objects: 197, done.
remote: Compressing objects: 100% (100/100), done.
remote: Total 197 (delta 104), reused 176 (delta 89)
Receiving objects: 100% (197/197), 26.25 KiB, done.
Resolving deltas: 100% (104/104), done.
で、2011年6月8日現在は最新v.0.4.8なので(これは調べてください。)
node.js
# nvm install v0.4.8
これでインストール完了です。
ログの内容。
Now using node v0.4.8
/usr/bin/which: no npm in (/root/.nvm/v0.4.8/bin:/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)
Installing npm…
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 3874 100 3874 0 0 4668 0 –:–:– –:–:– –:–:– 10330
fetching: http://registry.npmjs.org/npm/-/npm-1.0.10.tgz
0.4.8
1.0.10
prefix=/root/.nvm/v0.4.8This script will find and eliminate any shims, symbolic
links, and other cruft that was installed by npm 0.x.All clean!
! [ -d .git ] || git submodule update –init
node cli.js cache clean
node cli.js rm npm -g -f –loglevel error
node cli.js install -g -f
/root/.nvm/v0.4.8/bin/npm -> /root/.nvm/v0.4.8/lib/node_modules/npm/bin/npm.js
npm@1.0.10 /root/.nvm/v0.4.8/lib/node_modules/npm
It worked
本当にインストールされているのかを確認。
# node -v
v0.4.8
無事にv.0.4.8がインストールされているみたいです。
インストールされたのであれば、サンプル動かしたいですよね?ってことで、調べました。
ry-node_chat – GitHub
デモのチャットアプリをダウンロード。
# git clone git://github.com/ry/node_chat.git
※自分がいるディレクトリ上にフォルダが作成されます。
で、
# cd node_chat
に移動して、
# node server.js
を実行すると…
Server at http://127.0.0.1:8001/
おぉ!立ち上がってくれました。
早速ブラウザでアクセスしてみると、出ました。
以下コマンドライン上のログです。
loading index.html...
static file index.html loaded
loading client.js...
loading jquery-1.2.6.min.js...
loading style.css...
static file client.js loaded
static file style.css loaded
static file jquery-1.2.6.min.js loaded
xxxYukihiroxxx join
pinkzircon joinhello
year Hey! :)
あああ 近藤 幸裕
漢字もおっけー!
pinkzircon part
pinkzircon join
pinkzircon part
xxxYukihiroxxx part
^C
あ。カタカナやるの忘れた。。。
外部からのアクセス可能にしたい場合は、ポートをあける必要がありますが、ポートを開ける=扉を開けるということになりますのでセキュリティを把握したうえでやらないといけませんね。
node.jsの勉強をするのであれば、こちらを見てください。とてもわかりやすいので、ぜひ。
node.js ハンズオン資料 — node.js hands-on v1.0 documentation
From xxxYukihiroxxx