我正在使用nginx,rvm和passenger为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让我错过了宝石错误。
Could not find i18n-0.6.4 in any of the sources (Bundler::GemNotFound)
请注意passenger_root如何指向project1中的乘客宝石。
关于如何运行这两个项目的任何指示,将不胜感激。谢谢。
答案 0 :(得分:-1)
在rvm documentation中有一节与Passenger / nginx集成。解决方案在那里,并要求您添加新文件config/setup_load_paths.rb
。有关该文件的详细信息,请参阅文档。
顺便说一句,如果您使用的是Rails3,那么捆绑器是管理特定于宝石的特定宝石的更好选择。