我一直在研究并行运行Rails 2.3.11(1.8.7)和Rails 3(Ruby 1.9)。 Phusion网站有以下推荐路径:Stanadlone Passenger
另一个选择是使用mod_rails运行一个单独的Apache实例,它托管Rails 3.我看到这种方法的优点是新应用程序也可以是一个独立的应用程序,并且不需要通过第一个应用程序进行请求路由。也就是说,我可以使用一个匹配反向代理的URL,它可以将请求路由到Rails 3或Rails 2。
我的问题是哪个更好?使用另一个带有mod_rails的Apache来托管第二个实例,或者只使用一个独立的Passenger。
答案 0 :(得分:0)
据我所知,这是不可能的。但你可以使用apache和fcgi来做到这一点。 Fcgi不会与乘客发生冲突。 你甚至可以使用rcm和fcgi。
以下是fcgi和rvm的index.fcgi示例:
#!/usr/bin/env /home/user/.rvm/bin/ruby-1.9.2-p290
ENV['GEM_HOME'] = '/home/user/.rvm/gems/ruby-1.9.2-p290@app_gemset'
ENV['GEM_PATH'] = '/home/user/.rvm/gems/ruby-1.9.2-p290@app_gemset:/home/user/.rvm/gems/ruby-1.9.2-p290@global'
ENV['RAILS_ENV'] ||= 'production'
require File.join(File.dirname(__FILE__), '../config/environment')
Rack::Handler::FastCGI.run ...