簡體   English   中英

在rails 3.2中檢查生產模式中的500內部服務器錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM