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 のワイルドカード証明書が適用されていました。

AzureNode.js