passenger: メンテナンス画面の表示

Phusion Passenger 環境下でサービスを一時停止してメンテナンス画面をユーザーに見せたいとき、どうするか。

答えは、次のブログ(英語)に

簡単に要約すると

  • レスポンス503のための静的HTMLファイルを RAILS_ROOT/public/503.html に用意する。
  • RAILS_ROOT/tmp/stop.txt が存在したら、すべてのリクエストをレスポンス503で返す(503.htmlが表示される)。
  • ただし、ファイルシステムに存在するファイルへのリクエストはそのまま返す。

httpd.confおよびCapistranoレシピの書き方について簡潔かつ明瞭に説明してある。特に、httpd.confの記述は秀逸。

思わず「グッジョブ」とつぶやきたくなる。