2010-11-02 36 views
0

在Debian上使用Rails 3.0.1,Apache 2.2.9和Passenger 3.0.0。部署Rails应用程序始终在开发环境中提供

出于某种神秘的原因,Rails应用程序即将在开发环境中出现。我已经仔细检查了Apache配置,VirtualHost文件等等,并且在/ etc/apache2或app目录本身中都有零个“RailsEnv”或“RAILS_ENV”实例。

更糟的是,即使我做一个“RailsEnv生产”行到在虚拟主机文件的目录块,它使绝对没有什么区别,以及应用程序开发环境还是来了。如果我设置PassengerLogLevel为1

任何帮助要么是什么问题,或者至少采取行动,找出问题的过程中,将不胜感激

没有什么有趣的记录。

+0

乘客3是最新的最终版本。尝试在提交问题之前使用它。 – 2010-11-02 17:08:43

+0

从较旧的apt-get Passenger转换为当前的3.0.0 gem;问题依然存在。 – bdrister 2010-11-02 17:34:14

回答

2

这是因为在config.ru中,您的应用程序被检测为Rack应用程序,而不是Rails应用程序,因此您需要设置RackEnv而不是RailsEnv。 “Rails”应用指的是“Rails 1或2”应用。 Rails 3应用程序被认为是Rack应用程序。

+0

有了这些信息,我发现有些人在“.htaccess”文件中放入了“RackEnv开发”。删除,让默认的生产环境发生好。非常感谢您的帮助。 – bdrister 2010-11-04 14:08:40

0

经过了一段时间,并尝试随机的东西关闭'网,我发现删除config.ru文件生成的Rails解决了问题,没有以其他方式导致应用程序停止运作。为什么这会导致问题仍然不为我所知,但任何遇到此问题的人都可能会尝试该解决方案。

0

这里同样的症状,但没有建议的解决方案为我工作。当我将<body>标签设置为<body class="<%= Rails.env %>">并为开发类定义背景色时,我首先注意到了这一点,该背景色与生产类中的背景色明显不同。我所见过的(制作&开发)是开发色彩。当然,在浏览器中查看网页的源代码显示正在生成的类是开发。我将config.ru重命名为〜config.ru并重新启动了Apache2,但没有任何影响。我将RackEnv制作添加到设置了其他Passenger属性的我的*:80虚拟主机文件中。这没有影响。所以我重置〜config.ru为config.ru,重新启动Apache2,但仍然没有看到变化。我很欣赏@Hongli对Rack启动与Rails启动的解释。我只希望我的服务器会听他的!我甚至为.htaccess做了一个递归列表grepping - 没有找到。至少我认为我现在知道该在哪里徘徊。


的Apache 2.2.15,Rails的3.0.3,3.0.2旅客,Mac OS X服务器10.6.6

+0

为了跟进我的技术,我在我的虚拟主机文件中设置了'RackEnv production',然后在我的app/views/layout/application.html.erb文件中设置了'“>'以达到让生产环境使用与开发中的背景颜色不同的背景颜色的效果。 – tobinjim 2011-02-09 14:27:10

相关问题