Windows AzureでNode.jsを動かす。

Windows Azure Advent Calendar 2013 12 日目です。

マニアックなものではなくて、Hello,World いきます。

自分は普段から Node.js が大好きで使っているのですが、Node.js の Web アプリケーションを Azure で驚くほど簡単に作ることが出来たので紹介します。

手順

  1. express を使って、Web アプリケーションを構築。
  2. GitHub リポジトリにコミット。
  3. Windows Azure のポータルで、Web サイトを作成。
  4. GitHub リポジトリからデプロイ設定。

Web アプリケーション構築

まずは、Node.js の Web フレームワークである express を使って、ローカル上に Web アプリケーションを構築します。

$ express ex-node

たった 1 コマンドで一通りの構成を全部作ってくれます。すごく簡単。(Node.js, express がインストール済であれば。)

GitHub に Commit

次に、先ほど作ったアプリケーションをまるごと GitHub にコミットしておきます。

$ cd ex-node
$ git init
$ git add .
$ git commit -m 'first commit'
$ git remote add origin https://github.com/YuG1224/ex-node.git
$ git push -u origin master

ディレクトリを移動して、git push するだけ。これもすごく簡単。

Azure で Web サイトを作る

ただ Node.js を動かすだけなので、簡易作成で Web サイトを作成します。URL に任意の文字列を入力し、リージョンは東アジアを選ぶだけです。

Webサイトを作る

Azure と GitHub を連携してデプロイ

Web サイトが完成したら、「ソース管理からのデプロイの設定」からソースコードの場所を選択します。

Webサイトの完成

GitHub や Dropbox など、複数から選択することが出来ますが、今回は GitHub を選択。

ソースコードの位置

連携が完了したら、デプロイするブランチを選択します。

デプロイするブランチ

デプロイが完了したら、もう既に Node.js の Web アプリケーションが Azure 上で動いています!

まとめ

npm install をしなくても、必要な module は Azure が全て用意してくれるのですごく簡単でした!

しかし、インストール時に Python か node-gyp を利用する module はインストールできないので、ちょっと複雑なことをやろうとするとハマります。

例えば自分の場合、文字エンコードを変換するための node-iconv を使おうとしたらデプロイで失敗しました。

どうしても使いたい場合は、仮想マシンを作って Node.js のインストールから始めないとダメなようです。

参考:Windows Azure アプリケーションでの Node.js モジュールの使用

ちなみに、Mac で Windows Azure を使うなんて、もしかして異端なのでしょうか?

追記 2014/01/07

Windows Azure で Web サイトを作ると、特別な設定をすることなく SSL でも利用することが出来るようになっています。→https://ex-node.azurewebsites.net

証明書は .azurewebsites.net のワイルドカード証明書が適用されていました。