解决nginx反代下载大文件占用磁盘过大问题

最近在一台5G磁盘的服务器上部署反向代理,在下载的时候遇到一些问题,磁盘占用直接爆炸,查了一下是nginx缓存的问题。

NGINX默认为每个链接就创建一个缓冲区,每个缓冲区都是独立的,下载设置了16线程就是16个缓冲区。

解决代码:在网站配置server{}内任意地点插入

proxy_buffering on;
proxy_buffer_size 128k;
proxy_buffers 2 1m;
proxy_busy_buffers_size 1024k;
proxy_temp_file_write_size 2m;

设置完成后还是会出现磁盘不够的问题,可以关闭缓存

proxy_buffering off;