2013-01-19 75 views
7

我的設置:Ubuntu 12.04 LTS,Apache,Phusion Passenger,最新的Ruby和Rails。Rails應用程序錯誤:腳本標題提前結束

當我訪問我的網站時,出現500內部服務器錯誤。 錯誤日誌文件:腳本過早結束標頭

是否有人知道如何解決這個問題?

+0

腳本頭文件的提前結束,這是在你的apache日誌中,並且它自己很沒用。你的Rails日誌會給你更好的信息嗎? – deefour

+0

在production.log中我認爲沒有什麼特別的。最後一行是:連接到由database.yml指定的數據庫。我還沒有使用數據庫,並且服務器上沒有安裝數據庫。但是我在database.yml中指定了一個postgresdb。這可能導致這個錯誤? – crispychicken

回答

4

如果您在config/database.ymlconfig/database.yml中配置了production的數據庫,並且該數據庫在註釋中提到的服務器上不存在,那麼可能是您的問題的來源,因爲它無法建立數據庫連接。

從您的config/database.yml該連接並重新啓動應用程序。

+0

是的,那工作!謝謝 – crispychicken

8

只要在這裏發帖,以防其他人遇到與我一樣的問題。

我跟着Rails tutorial和教程的一部分,確保在secret_token被動態生成(清單中的鏈接3.2),爲.secret文件中的應用程序的根。

問題在於應用程序不知道如何向文件寫入令牌,因此我從我的開發.secret中獲取了值,對其進行了修改並將其保存在服務器上。這使我的應用程序在生產中工作。

-1

確保你的環境是發展:

RailsEnv development

添加到虛擬主機配置

+0

它可能是一個有用的調試步驟,但是它像生產服務器一樣讀取,並且在生產環境中使用開發環境是Not Great – James

0

確定。我遇到了使用Dreamhost VPS的完全相同的問題。

我在做2次錯誤。首先我沒有運行「束EXEC耙分貝:遷移」在生產模式,即「束EXEC耙分貝:遷移RAILS_ENV =生產的」

但這個問題仍然保持顯示出來。然後我試着Jesper8的回答。我跑了「回扣祕密」和複製的祕密令牌到config/secrets.yml文件盈方的「生產: secret_key_base:」

重新啓動我的應用程序,它的工作

希望這可以幫助別人面臨類似的問題

相關問題