我收到一个 500 内部服务器错误,并在它写入的日志文件中:
[Thu Jun 14 16:30:22 2012] [error] [client 127.0.0.1] ImportError: Could not import settings 'mysite.settings' (Is it on sys.path?): No module named mysite.settings
这是我的 httpd.conf:
ServerName localhost
<VirtualHost *:80>
ServerAdmin ttt@mysite.com
ServerName mysite.com
ServerAlias www.mysite.com
DocumentRoot /var/www/mysite/
LogLevel warn
WSGIDaemonProcess processes=2 maximum-requests=500 threads=1
WSGIScriptAlias / /var/www/mysite/mysite/wsgi.py
Alias /media /var/www/mysite/mysite/static/media/
</VirtualHost>
wsgi.py:
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
最佳答案
这个问题在 mod-wsgi 文档 http://code.google.com/p/modwsgi/wiki/IntegrationWithDjango 中都有涉及。和 Django 部署文档 https://docs.djangoproject.com/en/1.4/howto/deployment/wsgi/modwsgi/请注意,该项目必须在您的 Python 路径上。您可以使用 WSGIPythonPath
指令或设置 python-path
在您的 WSGIDaemonProcess
来自 Django 文档的指令。或者您可以将其添加到 sys.path
在您的 wsgi 文件中作为 mod-wsgi 文档状态。
关于django - 坚持使用 apache + mod_wsgi 部署 django,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11034571/