我有一个rails 3 app(我升级了)。它运行在乘客和nginx上,但在我的生产服务器上,它也从设置为“生产”的环境开始。我知道我遗漏了一些非常基本的东西,但我无法弄清楚在环境中设置环境的位置而不是环境.rb。
感谢您的帮助!
更新:好的,我知道我仍然可以用Rails.env ='production'来做到这一点。
这对我来说似乎是一种老派。你知道一个优雅的方法来配置它可能在Capfile中或者像那样吗?
答案 0 :(得分:6)
Rails 3与Rails 2.x略有不同,因为它有一个config.ru文件,就像其他Rack应用程序一样。
Passenger将rails视为Rack应用程序,因此您必须在vhost中使用RackEnv而不是RailsEnv。您可以根据Passenger / Nginx的文档使用RackEnv设置环境。
答案 1 :(得分:3)
您可以为vaint中的每个应用为乘客配置nginx的不同RAILS_ENV。我从来没有使用过nginx但是在apache中它只是一个RailsEnv=development
指令。这样每个网站都设置了它,不用担心配置上限任务或变量或任何东西。请参阅docs。请注意,默认值为production
,因此应该已为您设置。