2011-12-20 24 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