3

ruby 1.8.x と ruby​​ 1.9.11 でそれぞれ 2 つの異なる Rails Web サイトを構築しています。/etc/httpd/conf/http.conf を次のコード行で構成済みです。

LoadModule passenger_module /opt/ruby-enterprise-1.8.7-2012.02/lib/ruby/gems/1.8/gems/passenger-3.0.18/ext/apache2/mod_passenger.so
PassengerRoot /opt/ruby-enterprise-1.8.7-2012.02/lib/ruby/gems/1.8/gems/passenger-3.0.18
PassengerRuby /opt/ruby-enterprise-1.8.7-2012.02/bin/ruby

Passenger-install-apache2-module で提案されているように

同様に、代用品を置き換えるさらに必要なコードも追加しました。

<VirtualHost *:80>
      ServerName www.example.com
      # !!! Be sure to point DocumentRoot to 'public'!
      DocumentRoot /somewhere/public    
      <Directory /somewhere/public>
         # This relaxes Apache security settings.
         AllowOverride all
         # MultiViews must be turned off.
         Options -MultiViews
      </Directory>   
 </VirtualHost>

今まではすべて正常に動作していましたが、ruby 1.9.3 アプリに別の構成を追加して上記と同じプロセスを実行しようとすると、ruby 1.8.7 アプリと 1.9.3 アプリの両方を同時に実行できません。後者前者はエラーを生成しますが、正常に実行されます。

私は rvm を使用して両方のアプリを管理しており、アプリケーションごとに個別の gemsets を使用しています。

それで、私の質問は、どうすれば両方のアプリケーションを同時に実行できるかということです。

4

2 に答える 2

8

Passenger 4 はPassengerRuby、アプリケーションごとに設定できます。

最終リリースが間近に迫っていますが、その間は からインストールできますgem install passenger --pre

于 2013-03-05T16:16:01.150 に答える
1

単一の Phussion パッセンジャー構成内で複数の Ruby バージョンを同時に実行することはできません。この場合、スタンドアロン サーバー (ポート 4000 など) で実行し、そのポートでプロキシとして実行するように apache を構成する必要があります。詳細については、 http://blog.phusion.nl/2010/09/21/phusion-passenger-running-multiple-ruby-versions/を参照してください。

于 2013-02-01T10:42:10.423 に答える