[英]check 500 internal server error in production mode in rails 3.2
我的應用程序在我的linode帳戶中處於生產模式,我在一個頁面中得到一個500內部服務器錯誤消息:
We're sorry, but something went wrong.
但是在我的開發環境中工作正常。
我該如何調試此錯誤?
如何在生產模式中查看錯誤原點?
我希望rails在生產模式下顯示錯誤。
我該怎么做?
謝謝!
如果您有權訪問ssh,請通過ssh登錄到您的服務器並轉到rails目錄中的rails日志目錄。
一旦你在那里運行命令tail production.log
。 如果這沒有給你足夠的信息,你也可以做一個tail -n100 production.log
(給你生產日志的最后幾百行)。
如果已通過heroku部署,則可以通過在本地控制台中運行heroku logs
來訪問日志。 (更多信息請訪問https://devcenter.heroku.com/articles/logging )
我還發現在生產中運行時使用exception_notification gem https://github.com/rails/exception_notification很有幫助,因為它會在發生錯誤時通過電子郵件向您發送堆棧跟蹤。 很多其他人也使用Hoptoad(http://hoptoadapp.com/)或Exceptional(http://www.exceptional.io/)但是我更喜歡簡單的exception_notification gem。
此外,在一些罕見的情況下,當我無法追蹤錯誤作為最后的措施時,我有時會在遠程服務器防火牆上臨時打開端口3000並cd到rails項目並運行rails server production
並將日志級別設置為在config中調試/environments/production.rb所以我可以在控制台中看到錯誤,然后在我完成后關閉端口。
希望有所幫助。
tail -n100 production.log
將僅顯示日志文件的最后100行。 以防您希望實時查看日志。
用這個
tail -1000f log/production.log
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.