2014-12-23 48 views
0

我試圖在vps上託管我的導軌應用程序。我快到的問題是,當我嘗試導航到我的Rails應用程序,我收到以下錯誤信息:導軌生產:腳本標題的提前結束

Internal Server Error 

The server encountered an internal error or misconfiguration and was unable to complete your request. 

Please contact the server administrator, [no address given] and inform them of the time the error occurred, and anything you might have done that may have caused the error. 

More information about this error may be available in the server error log. 

當我檢查了虛擬服務器的錯誤日誌,它告訴我下面的:

Premature end of script headers: 

而且有時候會跟着一個feed或一個contact或一個referer: myurl.com/或根本沒有。

我在其他地方看過很多關於這個錯誤信息的帖子,但是到目前爲止沒有一個人已經解決了這個問題。普遍的共識似乎是它可能與rails環境變量或文件有關。

由於這是我第一次嘗試在生產服務器上放置Rails應用程序,我認爲這是合理的。下面是我environment.rb

cat config/environment.rb 
# Load the Rails application. 
require File.expand_path('../application', __FILE__) 

# Initialize the Rails application. 
Rails.application.initialize! 

爲服務器,我使用Ubuntu 12.04與Webmin的/的Virtualmin和Apache2中的乘客。 Ruby 2.1.5p273使用RVM安裝,所有的gem都是最新的。

任何想法都會有幫助!

+0

production.log中是否有任何內容?它可能會有一個回溯,會提供更多的信息。數據庫是否已建立並創建,並且所有遷移都運行?有時可能會導致生產中的問題。或者,檢查apache日誌(主要錯誤日誌和您的應用程序的日誌)。 –

+0

@BillTurner感謝您的迴應!你的直覺證明是有幫助的,儘管我需要看的日誌是我的'/ var/log/apache2/error.log'在那裏,我發現'from /home/deploy/.rvm/gems/ruby-2.1.5/gems/ railties-4.2.0/lib/rails/application.rb:520:在'validate_secret_key_config!''我猜我需要爲SECRET_KEY_BASE生成密鑰。如果您有關於最佳做法的任何提示,請隨時發表評論。再次感謝! – neanderslob

回答

1

今天我遇到了完全相同的問題。在我的情況下,它是config/secrets.yml中的'secret_key_base:<%= ENV [「SECRET_KEY_BASE」]%>'(但env變量未在服務器上定義)。請參閱http://edgeguides.rubyonrails.org/upgrading_ruby_on_rails.html的§3.3。

+0

嗨,謝謝你的迴應!我認爲你是對的,因爲我在錯誤日誌中發現了一些與你的答案一致的信息。我發現我的secrets.yml文件已經按照建議的文檔建議填好了,其中包括:'secret_key_base:<%= ENV [「SECRET_KEY_BASE」]%>'我沒有,但是有'secret_token.rb';這可能是爲什麼env變量沒有被定義。如何產生和管理這似乎有點含糊。你有什麼建議?非常感謝! – neanderslob

+0

更新:我使用'rake secret'生成一個新密鑰並將其直接粘貼到secrets.yml中,如[在此處建議](https://teamtreehouse.com/forum/downloaded-project-files-bundled-gems-but -having-故障與-secretyml文件換ODOT-APP)。這對於擺脫'/ var/logs/apache2/error.log'中的關鍵錯誤非常有效,但我仍然遇到了我的頁面上的403 Forbidden錯誤。我可能會離開的任何東西? – neanderslob

+0

嗨neanderslob,我也使用'rake secret'並將它直接粘貼到secrets.yml中 - 它適用於我(沒有403錯誤)。但是我對此並不滿意,因爲我沒有通過ENV [「SECRET_KEY_BASE」]使用推薦的方法。 –

相關問題