Bry*_*ock 39 django mod-wsgi ioerror
可能导致此错误的原因:
$ sudo tail -n 100 /var/log/apache2/error.log'
[Wed Dec 29 15:20:03 2010] [error] [client 220.181.108.181] mod_wsgi (pid=20343): Exception occurred processing WSGI script '/home/username/public_html/idm.wsgi'.
[Wed Dec 29 15:20:03 2010] [error] [client 220.181.108.181] IOError: failed to write data
Run Code Online (Sandbox Code Playgroud)
这是WSGI脚本:
$ cat public_html/idm.wsgi
import os
import sys
sys.path.append('/home/username/public_html/IDM_app/')
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
Run Code Online (Sandbox Code Playgroud)
为什么Django无法写入数据?
我正在运行Django 1.2.4
Gra*_*ton 28
没有任何类型的Python回溯的错误可能是以下问题的变体:
http://code.google.com/p/modwsgi/issues/detail?id=29&can=1
也就是说,在Web服务器可以写回完整响应之前,HTTP客户端连接丢失时发生.它可以在Apache错误日志中显示为"客户端关闭连接","无法写入数据"或"无法刷新数据"IOError.即,WSGI应用程序没有看到,因为在WSGI应用程序返回后发生了数据写入,因此无法将异常返回给应用程序以执行任何操作.
问题是,如果您配置要在电子邮件中发送给您的错误,是否从Django收到错误消息.如果你这样做,那么Django就会发生一些事情.
我在使用大量AJAX调用的应用程序(mod_wsgi 3.3)中遇到了同样的问题.有没有任何已知的解决方案?我想过只是忽略了异常,但这通常不是一个好主意.
UPDATE
实际上,这可能是由于几件事情,但最可能的原因是你正在使用write回调而不是yield输出.
我相信这会有所帮助:
http://groups.google.com/group/modwsgi/browse_thread/thread/c9cc1307bc10cfff
chr*_*ley -5
我敢打赌这是一个权限问题。True 使目标目录/文件普遍可写。然后使该文件归您的 www-data 组(或您的 apache 用户是什么)所有,使其组可写,并确保该文件夹中的任何内容都不敏感,因为这可能是一个安全问题。
| 归档时间: |
|
| 查看次数: |
25208 次 |
| 最近记录: |