2015-02-05 41 views
0

我有一個工作在RHEL 6中的Apache,mod_wsgi和我的settings.py文件中有DEBUG = TrueDjango 1.4,Apache2,mod_wsgi,500內部服務器錯誤,日誌中沒有任何東西

它似乎發生了藍色的(沒有更改到服務器的),當我試圖訪問Web應用程序時,突然獲得500內部服務器錯誤。對於Apache而言,錯誤日誌中沒有任何內容(我從字面上來看沒有任何意義),即使在Django中將DEBUG設置爲true,我仍然只能獲得500頁。

我試圖通過以下螺紋here加入大量的Django的日誌記錄,但它不記錄任何東西。

關於如何獲得關於可能導致問題的更多信息的任何想法?

+0

有時日誌的實際響應結束(AJA使用TastyPie)。檢查它可能包含堆棧跟蹤的客戶端自身的響應。 – 2015-02-05 16:17:24

+0

您是否正確設置了ALLOWED_HOSTS? – 2015-02-05 16:31:12

回答

0

如果您已調試並且工作正常,則應顯示所有錯誤。

但是,無論您是否可以讓Django向您發送任何服務器錯誤的電子郵件,這些錯誤對於解決生產環境問題都將特別有幫助。在error reporting的文檔會有所幫助,具體如下:

最起碼,你需要指定EMAIL_HOST並可能EMAIL_HOST_USER和EMAIL_HOST_PASSWORD,

我覺得這是標準的日誌記錄,但無論如何,在您的settings.py文件確保ADMINS =()不爲空,然後檢查您的日誌記錄配置。

當您使用DEBUG模式時,請確保您沒有包含require_debug_false過濾器。

ADMINS = (
    # ('Your Name', '[email protected]'), 
) 

# A sample logging configuration. The only tangible logging 
# performed by this configuration is to send an email to 
# the site admins on every HTTP 500 error when DEBUG=False. 
# See http://docs.djangoproject.com/en/dev/topics/logging for 
# more details on how to customize your logging configuration. 
LOGGING = { 
    'version': 1, 
    'disable_existing_loggers': False, 
    'filters': { 
     'require_debug_false': { 
      '()': 'django.utils.log.RequireDebugFalse' 
     } 
    }, 
    'handlers': { 
     'mail_admins': { 
      'level': 'ERROR', 
      'filters': ['require_debug_false'], 
      'class': 'django.utils.log.AdminEmailHandler' 
     } 
    }, 
    'loggers': { 
     'django.request': { 
      'handlers': ['mail_admins'], 
      'level': 'ERROR', 
      'propagate': True, 
     }, 
    } 
} 

如果你掌握了所有這些,那麼你應該對你的錯誤有所瞭解。

0

原來,這根本不是一個Django問題,而是一個Apache問題。 Django應用程序受到在Apache配置文件中配置的LDAP認證服務的保護。但是,LDAP服務器已關閉,所以Apache無法聯繫它。

仍然沒有做出什麼任何意義就是爲什麼阿帕奇不會登錄這個問題,儘管我在它的配置文件的LogLevel debug集...