繁体   English   中英

使用Passenger运行多个版本的Ruby / Rails

[英]Running multiple versions of Ruby/Rails using Passenger

我一直在研究并行运行Rails 2.3.11(1.8.7)和Rails 3(Ruby 1.9)。 Phusion网站具有以下推荐路径: Stanadlone Passenger
另一个选择是使用托管Rails 3的mod_rails运行一个单独的Apache实例。我看到的这种方法的优点是,新应用程序也可以是独立应用程序,不需要通过第一个应用程序进行请求路由。 也就是说,我可以拥有一个URL匹配的反向代理,该代理可以将请求路由到Rails 3或Rails 2。

我的问题是哪个更好的选择? 将另一个Apache与mod_rails一起使用来托管第二个实例,或者仅使用独立的Passenger。

据我所知,这是不可能的。 但是您可以使用apache和fcgi来实现。 Fcgi不会与乘客冲突。 您甚至可以将rvm与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  ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM