我有一个rails 3应用程序(我升级了它)。它在passenger和nginx上运行,但在我的生产服务器上,它也从设置为“production”的环境开始。我知道我遗漏了一些非常基本的东西,但我就是想不出应该在哪里设置环境,而不是在environment.rb中。
感谢您的帮助!
更新:好的,我知道我仍然可以用Rails.env = 'production‘来做到这一点。
在我看来,这是一种古老的做法。你知道一个优雅的方法来配置它吗,也许是在Capfile中或者类似的东西中?
发布于 2010-10-14 02:37:38
Rails 3与Rails 2.x略有不同,因为它有一个config.ru文件,就像其他Rack应用程序一样。
Passenger将rails作为机架应用程序进行检测,因此您将不得不在vhost中使用RackEnv而不是RailsEnv。您可以根据Passenger/Nginx文档使用RackEnv设置环境。
发布于 2010-10-13 23:39:01
您可以在vhost中为nginx with passenger的每个应用配置不同的RAILS_ENV。我从未使用过nginx,但在apache中它只是一个RailsEnv=development指令。这样,每个站点只需设置它,而无需担心配置cap任务或变量或其他任何东西。请参阅docs。请注意,缺省值为production,因此应该已经为您设置了该值。
https://stackoverflow.com/questions/3924608
复制相似问题