DJANGO技巧两则:模拟MKDIR -P及配合NGINX上传大文件不使超时
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DJANGO技巧两则:模拟MKDIR -P及配合NGINX上传大文件不使超时相关的知识,希望对你有一定的参考价值。
这都是在开发当哪遇到的问题,网上转转,作个记录:
http://blog.chinaunix.net/uid-25525723-id-1596574.html
http://bookshadow.com/weblog/2014/10/02/python-mkdir-p/
def mkdir_p(path): try: os.makedirs(path) except OSError as exc: # Python >2.5 (except OSError, exc: for Python <2.5) if exc.errno == errno.EEXIST and os.path.isdir(path): pass else: raise
- server {
- listen 8080;
- client_header_buffer_size 40890k;
- client_max_body_size 500m;
- client_body_buffer_size 80240k;
- location / {
- uwsgi_pass 127.0.0.1:10000;
- include uwsgi_params;
- proxy_send_timeout 300;
- proxy_read_timeout 300;
- proxy_buffer_size 512k;
- proxy_buffers 64 128k;
- proxy_busy_buffers_size 1024k;
- proxy_temp_file_write_size 512k;
- proxy_connect_timeout 30s;
- access_log off;
- }
- location ^~ /site_media {
- root /home/xxxxxx/xxxxxx;
- }
- location ~* ^.+\.(mpg|avi|mp3|swf|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|txt|tar|mid|midi|wav|rtf|mpeg)$ {
- root /xxx/xxx/xxxxx/site_media;
- expires 30d;
- access_log off;
- }
- }
default: proxy_buffer_size 4k/8k
context: http, server, location
该指令设置缓冲区大小,从代理后端服务器取得的第一部分的响应内容,会放到这里.
小的响应header通常位于这部分响应内容里边.
syntax: proxy_buffering on|off
default: proxy_buffering on
context: http, server, location
该指令开启从后端被代理服务器的响应内容缓冲.
如果缓冲区开启,nginx假定被代理的后端服务器会以最快速度响应,并把内容保存在由指令proxy_buffer_size 和 proxy_buffers指定的缓冲区里边.
如果响应内容无法放在内存里边,那么部分内容会被写到磁盘上.
如果缓冲区被关闭了,那么响应内容会按照获取内容的多少立刻同步传送到客户端
nginx不尝试计算被代理服务器整个响应内容的大小,nginx能从服务器接受的最大数据,是由指令proxy_buffer_size指定的.
对于基于长轮询(long-polling)的Comet 应用来说,关闭 proxy_buffering 是重要的,不然异步响应将被缓存导致Comet无法工作
语法: proxy_buffers the_number is_size;
默认值: proxy_buffers 8 4k/8k;
上下文: http, server, location
语法: proxy_max_temp_file_size size;
默认值: proxy_max_temp_file_size 1G;
上下文: http, server, location, if
Available since: 0.1.8
以上是关于DJANGO技巧两则:模拟MKDIR -P及配合NGINX上传大文件不使超时的主要内容,如果未能解决你的问题,请参考以下文章