我有一个带有 Apache 的服务器,我想开始用 Django 编写的网站。我使用 mod_wsgi。现在我准备好了。但是服务器的响应是空的。在错误日志中,什么也没有。你知道这是什么原因吗?
如果某些文件可以提供帮助(*.wsgi、settings.py),我会附加它。
Prochazky.wsgi
import os
import sys
import site
os.environ['PYTHON_EGG_CACHE'] = '/home/prochazky/venv/.python-eggs'
site.addsitedir('/home/prochazky/venv/lib/python2.6/site-packages')
os.environ['DJANGO_SETTINGS_MODULE'] = 'Prochazky.settings'
sys.path.append('/home/prochazky/')
sys.path.append('/home/prochazky/Prochazky/')
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
Apache 虚拟主机:
<VirtualHost *:80>
WSGIScriptAlias / /home/prochazky/Prochazky/Prochazky.wsgi
ServerName testing.prochazky.net
DocumentRoot /home/prochazky
ErrorLog /home/prochazky/wsgi.log
</VirtualHost>
最佳答案
首先尝试让 hello world 程序运行,而不是 Django。观看:
http://code.google.com/p/modwsgi/wiki/WhereToGetHelp?tm=6#Conference_Presentations
并阅读:
http://code.google.com/p/modwsgi/wiki/QuickConfigurationGuide
尽管猜测,您是否正在将 mod_python 加载到同一个 Apache 中。一个不兼容的 mod_python 将导致完全相同的症状,在主 Apache 错误日志中只有一条段错误消息。
更新 1
您是否将 mod_php 加载到同一个 Apache 中?它有时可能有冲突的共享库要求,并会导致崩溃。如果您还加载它,请从 Apache 配置中禁用它。
也尝试设置:
WSGIApplicationGroup %{GLOBAL}
这将强制使用主解释器,这将避免第三方扩展出现问题,这些扩展未正确编写以在子解释器中工作。
您确实需要更仔细地查看主 Apache 错误日志,而不是虚拟主机错误日志。发出请求时对其运行“tail -f”并检查确保在那里看到消息,特别是段错误或类似消息。虚拟主机错误日志中不会显示进程崩溃导致空页的消息。
关于python - Django:只有空白页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6842049/