【问题标题】:Configuring multiple Rails projects with nginx, rvm, and passenger?使用 nginx、rvm 和乘客配置多个 Rails 项目?
【发布时间】:2013-04-22 16:21:40
【问题描述】:

我正在使用 nginx、rvm 和乘客为 Rails 项目(即 project1)运行 Web 服务器。这个项目有一个为其定义的特定 gemset。我现在需要运行第二个项目(即 project2),它使用一组不同的 gem(并且定义了不同的 gemset)。我怎样才能做到这一点?

这是我的 nginx 配置文件的样子:

http {
  passenger_root /var/www/project1/vendor/cache/ruby/1.9.1/gems/passenger-3.0.
19;
  passenger_ruby /usr/local/rvm/wrappers/ruby-1.9.2-p320@global/ruby;

  # ...

  server {                                                    
    listen        80;                                                     
    server_name   project1.example.com;           

    root              /var/www/project1/public;             
    passenger_enabled on;
    rails_env         production;      

    # ...                       

  }      

    server {                                                    
    listen        80;                                                     
    server_name   project2.example.com;           

    root              /var/www/project2/public;             
    passenger_enabled on;
    rails_env         production;      

    # ...                       

  }              

  # ...
}

project1 按预期工作。但是,project2 给了我缺少 gem 的错误。

Could not find i18n-0.6.4 in any of the sources (Bundler::GemNotFound)

注意passenger_root 如何指向project1 中的passenger gem。

任何关于我如何运行这两个项目的指示,将不胜感激。谢谢。

【问题讨论】:

    标签: ruby-on-rails ruby nginx rvm passenger


    【解决方案1】:

    rvm documentation 中有一个关于与Passenger/nginx 集成的部分。解决方案在那里,需要您添加一个新文件config/setup_load_paths.rb。可以在文档中找到有关该文件的详细信息。

    顺便说一句,如果您使用的是 Rails3,对于管理特定于应用程序的 gem,bundler 是比 gemset 更好的选择。

    【讨论】:

    • 谢谢杰夫。我正在使用带有捆绑程序和 Gemfiles 的 Rails 3。这对解决方案有何影响?
    • 如果您使用 bundle install --path vendor/bundle 将 gem 捆绑到供应商/捆绑包中,那么它们本质上是特定于项目的
    • > "..bundler 是管理特定于应用程序的 gem 比 gemset 更好的选择。"我想说最好的选择是同时使用两者。 gemsets 在每个项目的基础上分离所有内容,而 bundler 管理给定项目中的 gems 版本(在项目的 gemset 中)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-14
    • 2014-04-09
    • 1970-01-01
    • 2017-05-28
    • 2016-04-20
    • 1970-01-01
    相关资源
    最近更新 更多