Windows+Node.js+Express+Redis+MongoDB

WindowsでNode.js(+Express)とRedisとMongoDBを動かしてみた。

MongoDBのインストール

  1. 10genの公式リンク http://www.mongodb.org/downloads からダウンロードする。Recommendedになっているもので良いと思います。
  2. 実行ファイルとデータの置き場所を決める。
    データの置き場所は、コマンドラインから指定しない場合はC:\data\dbとなる。
    以下は実行ファイルをC:\MongoDB\bin、ログをC:\MongoDB\logs、データをC:\MongoDB\dataに置く場合。
  3. 管理者権限でコマンドプロンプトを開く。(スタートメニュー→コマンドプロンプトのアイコンを右クリック→管理者として実行)
  4. C:\MongoDBの用意
    c:
    cd \
    md MongoDB
    cd MongoDB
    md bin
    md data
    md logs
  5. アーカイブのbinディレクトリ以下をC:\MongoDB\binにコピーする。
  6. 以下のコマンドにより、Windowsサービスとしてインストールする。※ 注: 1行です
    mongod --install --logpath c:\mongo\logs --logappend --dbpath c:\mongo\data --directoryperdb --bind_ip 127.0.0.1
    ※ 必要なときだけダブルクリックして都度起動したいなら、mongod.exeのショートカットを作成して--install以外のオプションを付与する

※ 2012/02時点での情報

    • dbpathに存在しないディレクトリを指定すると、起動と停止を繰り返すので注意。

mongodのオプションの --reinstall や --remove は正常動作しないかも。

MongoDBの動作確認

  1. サービスとしてインストールした場合、サービス管理(スタートメニュー→プログラム→管理ツール→サービス)から「Mongo DB」が追加されていることを確認。再起動するか、Mongo DBを「サービスの開始」で開始させる。
  2. 単発起動の場合、mongod.exeのショートカットから起動させる。※ データパスの設定は必要
  3. クライアント C:\MongoDB\bin\mongo.exe をダブルクリックする。
  4. connecting to: testのあと、> で待ち状態になれば成功(起動している)。
    画面が消えるようだったら失敗。

Redisのインストール

  1. Windows Vista/7なら、サービス版を https://github.com/rgl/redis/downloads からダウンロードする。
  2. ダブルクリックしてインストールするだけ。簡単!
  3. Windows XPの場合は、Run Redis.io DB as Windows Serviceを参考に。
    Redis Windows portRedis as Windows serviceでサービス化できる。
  4. 面倒だったらredis-server.exeをダブルクリックすればコンソールで都度起動できる。

Redisの動作確認

  1. サービスとしてインストールした場合、再起動するか、Redisを「サービスの開始」で開始させる。
  2. 単発起動の場合、redis-server.exeを起動する。
  3. スタートメニュー→Redis→Redis Clientでクライアントを起動する。(redis-cli.exe)
  4. redis 127.0.0.1:6379> で待ち状態になれば成功(起動している)。
    not connected> の場合は失敗。
  5. 値の設定まで試してみたければ、コマンド一覧から適当に選ぶ。例えば、
    set foo bar
    get foo
    とすると"bar"が得られるはず。

Node.jsのインストール

  1. 公式リンク http://nodejs.org/#download からWindows Installer(MSIファイル)をダウンロード。
  2. コマンドプロンプトを開く。
  3. 以下のコマンドでExpressをインストールする。
    npm install -g express

バージョンについて
マイナーバージョンが奇数(0.7.xなど)のものは開発版、偶数のもの(0.6.xなど)は安定版。
開発版はモジュールが未対応のことがあるので、普通の開発者は安定版を入れるのが吉。

※ インストールされる場所について
本体はC:\Program Files\nodejsまたはC:\Program Files (x86)\nodejsにインストールされる。
npmで-gオプションをつけるとグローバルインストールになる。ここでのグローバルは、どのプロジェクトでも使えるの意。
XPの場合%USERPROFILE%\Application Data\npm、Vista/7の場合%USERPROFILE%\AppData\Roaming\npmにexpress.cmdがインストールされる。

Node.jsの動作確認

  1. コマンドプロンプトからnode
  2. console.log("Hello, world!")
  3. Ctrl-C二回で終了する

Expressの動作確認

  1. 適当なディレクトリを作成する。
  2. コマンドプロンプトを開き、そのディレクトリに移動する。例) C:\Projects
  3. 以下のコマンドでディレクトリchatに雛形が作成される
    express -t ejs chat
  4. chatディレクトリに移動して必要なモジュールをインストールする
    cd chat
    npm install
  5. 必要ならredisやmongoose(MongoDBのNode.jsモジュールの一つ)をインストールする
    npm install redis mongoose

Windows版のnpmはnpm linkに未対応なので、コマンドでないモジュールを-gでインストールしても無意味。
Linuxであればnpm link expressなどとすれば、-gでインストールしたものを共有できる

雛形作成後

app.jsを適当にいじる。
同じようなことをするモジュールでどれを使ったらいいのかわからないときは、例えば、http://search.npmjs.org/バージョンがどんどん上がっているとかPackages that depend on...で依存しているモジュールが多いかどうかとかで選ぶと例が見つかりやすい。
例えばコールバックネスト地獄を減らすライブラリはpromiseとか色々あるのだが、例えばasyncがそこそこ使われていそうとか。

その他

間違い、追加情報、勉強会へのお誘いなどあれば、などぜひお知らせください。