我正在通过 Apache Passenger 运行一个新的 Rails 3 应用程序,并尝试在环境中运行它stage
。我已根据文档以及以前的 Apache Passenger 应用程序正确设置了配置文件,但我无法让它在正确的环境中运行,即使我在 VirtualHost 配置中指定了它,如下所示:
RailsEnv stage
有什么建议么?
注意:如果重要的话,我使用的是 Ruby 1.9.2-p0
答案1
Rails 3 算作一个机架应用程序,因此将配置更改为:
RackEnv stage
答案2
至少在 3.0.5 之前的 Passenger 版本中似乎存在一个错误,即 RackEnv 无法在虚拟主机之间进行区分。如果您有多个具有不同 RackEnv 设置的虚拟主机,则使用的第一个 RackEnv 将是全局的,即浏览器访问的第一个站点将为所有虚拟主机定义 RackEnv 设置。
需要快速修复此问题,因为它使得为生产站点设置暂存环境几乎不可能,并且还使得多阶段环境(例如托管)变得不可能。
也可以看看http://code.google.com/p/phusion-passenger/issues/detail?id=565。