本番開始

今日から「カウンセリング予約システム」の本番をスタートしました。

本番環境は、apache1.3 + mod_proxy + Mongrelにしました。

Mongrelのインストールはgem一発。

$ sudo gem install mongrel

APPROOTで、"mongrel_rails start"というコマンドを打てば、script/serverと同じようにデバッグ環境で起動します。本番モードにするには、

$ mongrel_rails start -eproduction -pNNNN -a127.0.0.1 start

現在は、screen上でこれを起動して様子を見ながら運用していますが、-d オプションをつければデーモンになるようです。しばらくしたら、その形の運用にするつもりです。

apacheの設定は、前から動いていたhttpd.confのSSLの設定部分に下記を追加。

<VirtualHost www.xxxxx.jp:443>
  .......
  ProxyRequests on
  <LocationMatch "^[^/]">
    Deny from all
  </LocationMatch>

  ProxyPass         /XXXX/ http://localhost:NNNN/
  ProxyPassReverse  /XXXX/ http://localhost:NNNN/
</VirtualHost>

XXXXはパス、NNNNはポート番号です。こう設定すると、https://www.xxxxx.jp/XXXX/Railsのルートに転送されます。

それで、これは、もろにid:cuzicさん作成の、Relative Path Pluginが必要になるケースですね。

これが無いと、https://www.xxxxx.jp/XXXX/login に行くべき所で、https://www.xxxxx.jp/loginに飛んでエラーになります。

上記のページ通りの設定で、一発でうまく行きました。Rubyカンファレンスでこれの存在を知ったのですが、即、使わせていただきました。これは便利だ。id:cuzicさん、ありがとうございます。

なお、全てSSL経由っていうのは、普通のシステムだと負荷的に問題になるかもしれませんが、このシステムはアクセス数がすごく少ない(というよりヘタしたら皆無)なので、全く問題ありません。