Passenger 3.x で複数のRubyバージョンを使い分けるには、とてもトリッキーな対応が必要でした。 ところがPassenger 4.0.0 より公式に複数のRubyバージョンに対応しました。つまり、同一筐体のApacheで動く他アプリケーションへ影響を与えることなく、気軽にアプリ毎に使うRubyバージョンを変更できるようになります。 これまでの手法 mod_proxyを用いて、必要なRubyバージョン毎に単体起動させたpassengerにTCP/Socketでプロキシするというものでした。なぜなら、読み込むモジュールだけでなく、グローバル値として指定するPassengerRootやPassengerRubyの設定が衝突するためです。 Phusion Passenger & running multiple Ruby versions – Phusion Corporate Blo