nginx 下载 大文件被截断

若是出现大文件被截断,且ngix的日志大量出现如下相似报错:nginx

 

 

则说明是nginx没有fastcgi_temp的读写权限。其中fastcgi_temp是本身的文件夹名称,每一个人的不一样且路径也会不一样,这个看你的nginx配置。好比我这的就是/data/nginx/proxy_temp缓存

 

知道缘由,解决起来就方便多了:chmod -R 777 /data/nginx/proxy_temp 赋予权限就能够了。

日志

缘由:每次下载失败时文件的大小老是64KB。原来,nginx会使用fastcgi_buffer_size指定的大小的缓冲区用于缓存fastcgi流的内容。当大小超出此大小时会继续用fastcgi_buffers指定的数量和大小申请缓冲区。若是依然超出此大小,会将多出的内容写入临时文件。也就是说,在本状况下,nginx首先会使用一个64K的缓冲区缓冲fastcgi流的第一部分,超出后最多申请4*64K=256K的缓冲区用于缓冲。若是继续超出,则写入临时文件。因此,在下载大于256K文件的时候,须要用到临时文件夹进行缓冲,而这里没有权限操做,就致使了该问题。

blog

相关文章
相关标签/搜索