2012-01-23 23 views
0

我一直在尋找並行運行Rails 2.3.11(1.8.7)和Rails 3(Ruby 1.9)。 Phusion網站有以下推薦路徑:Stanadlone Passenger
另一個選擇是運行Apache的一個單獨的實例,其中包含承載Rails 3的mod_rails。我用這種方法看到的優點是新的應用程序也可以是獨立的應用程序,並不需要通過第一個應用程序進行請求路由。這是我可以有一個URL匹配反向代理,可以路由請求到Rails 3或Rails 2.使用Passenger運行多個Ruby/Rails版本

我的問題是哪個更好的選擇?使用另一個mod_rails的Apache來託管第二個實例,或者使用獨立的Passenger。

+0

我使用的第一種方法,即乘客獨立。我不明白你的第二種方法,你如何運行Apache的多個實例? – Dejan

回答

0

據我所知,這是不可能的。但是你可以使用apache和fcgi來完成。 Fcgi不會與乘客發生衝突。 你甚至可以使用rvm和fcgi。

下面是示例index.fcgi用於FCGI和RVM的:

#!/usr/bin/env /home/user/.rvm/bin/ruby-1.9.2-p290 

ENV['GEM_HOME'] = '/home/user/.rvm/gems/[email protected]_gemset' 
ENV['GEM_PATH'] = '/home/user/.rvm/gems/[email protected]_gemset:/home/user/.rvm/gems/[email protected]' 

ENV['RAILS_ENV'] ||= 'production' 


require File.join(File.dirname(__FILE__), '../config/environment') 


Rack::Handler::FastCGI.run ...