【问题标题】:Running multiple versions of Ruby/Rails using Passenger使用Passenger运行多个版本的Ruby/Rails
【发布时间】:2012-02-16 21:16:23
【问题描述】:

我一直在研究并行运行 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。

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

【问题讨论】:

  • 我使用的是第一种方法,即乘客独立。我不明白你的第二种方法,你如何运行多个apache实例?

标签: ruby-on-rails passenger


【解决方案1】:

据我所知,这是不可能的。但是你可以使用 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  ...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    • 2022-11-23
    • 2018-10-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多