Railsの実行について

Railsの実行は一般以下のようになっている。

しかし、複数Railsアプリを扱うには
mongrelの場合」もしくは「passengerの場合」

こんなふうにしたくなる。なので設定をどうするかという問題にぶつかる。


私、mongrelとpassengerについて実行を比較してみた。



mongrelには以下のように起動する「コマンドライン上で」


RailsApp1_Root>ruby script/server --path=/RailsApp1
RailsApp2_Root>ruby script/server --path=/RailsApp2
RailsApp3_Root>ruby script/server --path=/RailsApp3
こんな複数起動はリソースを随分消耗するかも


Passengerにはhttpd.confに以下のように記入して
Apacheを再起動すればOK。

RailsBaseURI /RailsApp1
RailsBaseURI /RailsApp2
RailsBaseURI /RailsApp3



さらに上の両者ともこんな設定も必要になる。
実行する環境によって以下の行を追加する。
environments/production.rb か environments/development.rbに

ActionController::Base.relative_url_root = '/RailsApp(1-3)'
「一番上でもいい」



なぜ、私は実行を比較したかというと
アプリ開発はローカルのwindowsで、
本番実行はリモートサーバ「レンタルサーバ」にある時に
役に立つかも。


windowsにはmongrelサーバを使って開発を行い、
本番のサーバはlinuxで、スピードが速いpassengerを使う時
更新した内容はあSVNの経由でサーバに送る。


ローカルで実行した結果とリモートサーバで反映した結果が必ず同じじゃないとまずいからね

経験不足の話ですけど、役に立ったらうれしいです。