nginx+uwsgi+django 下载出现奇怪的问题
如题, nginx+uwsgi+django,出现了一个情况,访问该页面时,如果有较大的文件,无法完全加载下来完整的文件(如比较大的js文件)
实验环境是nginx-1.0.0 uwsgi-0.9.7 django-1.1.2 python-2.6.6 Centos5.5 64位系统 kernel-2.6.18-194.26.1.el5
在本机curl页面可以完整下载,但是其他机器访问这台时,会无法完整下载,没有任何报错日志,下边是uwsgi的日志输出(20.190为本机,为了更明显的看出区别,我把这个文件dd的比较大)
[pid: 26417|app: 0|req: 35/35] 192.168.2.111 () {30 vars in 429 bytes} [Mon Apr 25 02:11:03 2011] GET /download => generated 64000 bytes in 2630 msecs (HTTP/1.1 200) 1 headers in 61 bytes (1 switches on core 0)
[pid: 26417|app: 0|req: 36/36] 192.168.20.190 () {30 vars in 430 bytes} [Mon Apr 25 02:13:56 2011] GET /download => generated 209715200 bytes in 4295 msecs (HTTP/1.1 200) 1 headers in 61 bytes (1 switches on core 0)
[pid: 26417|app: 0|req: 37/37] 192.168.2.56 () {40 vars in 769 bytes} [Mon Apr 25 02:14:09 2011] GET /download => generated 64000 bytes in 2137 msecs (HTTP/1.1 200) 1 headers in 61 bytes (1 switches on core 0)
nginx没有做特殊配置,只增加了下边的几行
gzip on;
gzip_comp_level 2;
gzip_proxied any;
gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;
location / {
uwsgi_pass unix:///tmp/uwsgi_2.sock;
include uwsgi_params;
}
uwsgi的配置为
<uwsgi>
<module>django_wsgi</module>
<socket>/tmp/uwsgi_2.sock</socket>
<chmod-socket>666</chmod-socket>
<processes>4</processes>
<master/>
<harakiri>20</harakiri>
<log-big>1</log-big>
<home>/home/k4/Envs/k4</home>
<daemonize>/home/k4/uwsgi_2/uwsgi.log</daemonize>
<pidfile>/home/k4/uwsgi_2/uwsgi.pid</pidfile>
<pythonpath>/home/k4/django_demo</pythonpath>
</uwsgi>
any ideas? please help
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
忘记说了,前提是这些静态文件没有用nginx直接来代理,所以gzip on应该是无效了。
好复杂啊 !!!
较大文件出现问题,可能执行时间的限制
回复 4# gftflb
300多k的js文件也会出问题,我只是为了看得更明显特意换了个大文件。我修改过uwsgi里harakiri的值,结果也是一样