Node on Heroku
Heroku の Stacks に新しいバージョンが追加された。まだベータではあるけれど。新しい機能が幾つかあるけれど、その中で一番気になるのは node.js がサポートされるようになったこと(以前より試験的な運用はされていたけど)。
node.jsを使ったアプリの作成方法
基本的に Getting started with Node.js on Heroku/Cedar に書いてある通りでOK。そこでは express を使ったサンプルが書かれている。
ちょっとしたトラブル
ただ、はじめて動かしたときはなぜかうまくいかなかった。うまくいかなかったときの ps コマンドの結果は以下の通り。Command が空欄になってしまっていた。アクセスしても Application Error になる。
% heroku ps Process State Command ------------ ------------------ ------------------------------ web.1 created for 5m
ログを見てもプロセスが起動されていないことがわかる。
% heroku logs 2011-06-01T12:11:15+00:00 heroku[router]: Error H14 (No web processes running) -> GET high-ice-521.herokuapp.com/
手順を振り返ってみてもドキュメント通りだった。しかたがないので一旦アプリを破棄し、 heroku (gem) をアップデートした (heroku-2.2.1)。その後もう一度試してみたところ、うまく動くようになった。
原因は何だったのだろう?heroku のバージョンが古かったのか、それとも他の原因なのか...。
追記
バージョンアップする前の heroku のバージョンは 2.0.4 だった。ここには run と scale コマンドを使う場合は、2.1.0 以上のバージョンにしろよとある。この辺りが関係あるのかしらん。