[rails]
[capistrano]
[deploy]
システムメンテナンスのため、一時サービスを停止したいとき、Capistranoで簡単にメンテナンス画面を表示させる事ができます。
まずは、.htaccessを編集して、
RewriteCond %{DOCUMENT_ROOT}/system/maintenance.html -f
RewriteCond %{SCRIPT_FILENAME} !maintenance.html
RewriteRule ^.*$ /system/maintenance.html [L]
1 : %{DOCUMENT_ROOT}/system/maintenance.html が存在し、
2 : 且つ、自分自身(実行ファイル自身)が maintenance.html でなければ、
3 : URLを/system/maintenance.html に書き換える。
という設定をします。(※番号は設定ファイルの行に対応)
rake remote:disable_web \
UNTIL="14:00 MST" \
REASON="a database upgrade"
上記のコマンドを実行すると、本番サーバー上の、CAPROOT/current/public/system (CAPROOT/shared/system へのシンボリックリンク) に、maintenance.html というファイルが生成されます。これで完了。
アクセスしてみるとこんな感じ。
rake remote:enable_web
これを実行すると、maintenance.html は削除され、元に戻ります。
参考URL