如何修复在使用WSGI部署Django时Apache2出现的错误(wsgi.py,第284行)

0 投票
1 回答
670 浏览
提问于 2025-04-17 08:41

我在用apache2和mod_wsgi部署django的时候遇到了这个错误信息,搞不定:

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

我现在用的是Debian系统,Python版本是2.7.2,Django版本是1.3.1,还有当前的mod_wsgi。我是自己编译的python、django和wsgi,因为之前遇到过错误。有没有人能给点提示,这个错误可能是什么呢?

1 个回答

2

关于这个Python错误,看起来你的mod_wsgi是针对Python 3.1编译的,而不是Python 2.7。你需要确保安装的mod_wsgi是针对Python 2.7编译的。

提示是错误信息在抱怨状态是字节字符串,而不是文本字符串。这种情况只会在Python 3.X和mod_wsgi一起使用时出现。

请按照这个文档中的检查步骤进行操作:

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

撰写回答