2010-11-02 66 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

相關問題