2011-12-20 23 views
0

我遇到这个错误信息,而使用中的mod_wsgi部署的Apache2中的Django的Apache2部署Django和我不能修复:如何修复错误,而使用WSGI(wsgi.py,线284)

tail -f /var/log/apache2/error.log 
[Tue Dec 20 04:15:45 2011] [info] mod_wsgi (pid=3959): Adding '/usr/local/lib/python2.7/site-packages/' to path. 
[Tue Dec 20 04:15:45 2011] [info] [client 80.226.1.7] mod_wsgi (pid=3959, process='', application='digitalchaot.de|/djangu'): Loading WSGI script '/home/webapps/digitalchaot/apache.wsgi'. 
[Tue Dec 20 04:16:04 2011] [error] [client 80.226.1.7] mod_wsgi (pid=3959): Exception occurred processing WSGI script '/home/webapps/digitalchaot/apache.wsgi'. 
[Tue Dec 20 04:16:04 2011] [error] [client 80.226.1.7] Traceback (most recent call last): 
[Tue Dec 20 04:16:04 2011] [error] [client 80.226.1.7] File "/usr/local/lib/python2.7/site-packages/django/core/handlers/wsgi.py", line 284, in __call__ 
[Tue Dec 20 04:16:04 2011] [error] [client 80.226.1.7]  start_response(status, response_headers) 
[Tue Dec 20 04:16:04 2011] [error] [client 80.226.1.7] TypeError: expected byte string object for status, value of type str found 
[Tue Dec 20 04:16:04 2011] [error] [client 80.226.1.7] File does not exist: /htdocs 
[Tue Dec 20 04:20:11 2011] [error] [client 207.46.13.206] File does not exist: /htdocs 
[Tue Dec 20 04:20:57 2011] [error] [client 207.46.13.206] File does not exist: /htdocs 

我使用Django 1.3.1和当前的mod_wsgi运行Debian Python 2.7.2。由于以前的错误,我自己编译了python,django和wsgi。有人提示错误可能是什么吗?

+0

难道你还发布了Apache的配置为您的网站? – 2011-12-20 04:10:44

+0

提示可能是在你的apache配置中的某处,你指的是/ htdocs作为静态内容的位置,并且该位置不存在? – jdi 2011-12-20 04:21:31

回答

2

对于Python错误,它看起来像你的mod_wsgi是针对Python 3.1而不是Python 2.7编译的。您需要确保已安装的mod_wsgi是针对Python 2.7编译的。

线索是错误消息抱怨状态是字节串而不是文本字符串。这只能在使用mod_wsgi的Python 3.X中发生。

通过检查进入本文档中:

http://code.google.com/p/modwsgi/wiki/CheckingYourInstallation

+0

谢谢。我不知道错误的wsgi版本来自哪里,但我删除它并重新编译。不是一切似乎工作得很好:) – JasonTS 2011-12-20 05:48:06

+0

好抓@GrahamDumpleton。 – 2011-12-20 07:42:22