CentOS にデプロイされた Django アプリケーションがあります。私の httpd.conf ファイルは次のようになります。
WSGISocketPrefix /var/run/wsgi
<VirtualHost *:80>
WSGIDaemonProcess safe python-path=/usr/lib/python2.6/site-packages
WSGIProcessGroup safe
WSGIScriptAlias / /opt/safe/safe/wsgi.py
<Directory /opt/safe/safe/>
Order deny,allow
Allow from all
</Directory>
</VirtualHost>
編集:これは私のものですTEMPLATE_DIRS
TEMPLATE_DIRS = (
# Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
# Always use forward slashes, even on Windows.
# Don't forget to use absolute paths, not relative paths.
"/opt/safe/static/templates",
"/var/www/html/static/templates",
)
編集:これは私の管理者/メール設定です:
ADMINS = (
# ('Your Name', 'your_email@example.com'),
('David', 'david@localhost'),
)
SEND_BROKEN_LINK_EMAILS = True
DEFAULT_FROM_EMAIL = 'david@localhost'
SERVER_EMAIL = DEFAULT_FROM_EMAIL
500.html
テンプレート ディレクトリに、カスタムファイルを定義しました。mysettings.py
を haveに設定するとDEBUG = False
、このカスタム 500.html ページが表示されない限り、サイトのどこにもアクセスできません。
さらに奇妙なのは、ログ ファイルにエラーがないことです。そのため、どこを見ればよいか、どのように進めればよいかわかりません。カスタム 500.html ファイルが原因でテンプレートが表示されることはわかっていますが、500 Internal Server エラーの原因がわかりません。
編集:さらに構成した後、いくつかのエラー出力を取得できました(@Matt Stevensのおかげです)。ログ出力は次のとおりです:
Traceback (most recent call last):
File "/usr/lib/python2.6/site-packages/django/core/handlers/base.py", line 89, in get_response
response = middleware_method(request)
File "/usr/lib/python2.6/site-packages/django/middleware/common.py", line 55, in process_request
host = request.get_host()
File "/usr/lib/python2.6/site-packages/django/http/__init__.py", line 223, in get_host
"Invalid HTTP_HOST header (you may need to set ALLOWED_HOSTS): %s" % host)
SuspiciousOperation: Invalid HTTP_HOST header (you may need to set ALLOWED_HOSTS): [my ip address]