an upstream response is buffered to a temporary file

an upstream response is buffered to a temporary file

这个错误也不会影响功能,意思是nginx默认的buffer太小,每个请求的缓存太小,请求头header太大时会出现缓存不足,内存放不下上传的文件,就写入到了磁盘中,使nginx的io太多,造成访问中断。

缓解的方法:
在nginx配置文件nginx.conf中加入配置:(根据实际情况配置数值)
client_max_body_size 2048m;

(设置请求体的大小,用nginx来做webserver的时,上传大文件时需要特别注意这个参数,否则会中断在nginx的请求中是无法记录到访问的)
client_body_buffer_size 1024k;
(Nginx分配给请求数据的Buffer大小,如果请求的数据小于client_body_buffer_size直接将数据先在内存中存储。)

proxy_buffer_size  256k; 

(proxy_buffer_size所设置的buffer_size的作用是用来存储upstream端response的header)

proxy_buffering  on; 

(proxy_buffering 是为了开启response buffering of the proxied server,开启后proxy_buffers和proxy_busy_buffers_size参数才会起作用)

proxy_buffers 64 128k;
proxy_busy_buffers_size 512k;

缓冲区设置的太小的话,Nginx 会频繁读写硬盘,对性能有很大的影响,但也不是越大越好,没意义

若配置完上面后日志中还是频繁出现,则配置:
fastcgi_buffer_size       512k;
fastcgi_buffers        6  512k;
fastcgi_busy_buffers_size  512k;
fastcgi_temp_file_write_size  512k;
fastcgi_intercept_errors    on;

重启nginx 或者 nginx -s reload

创作者:吴仔汕
欢迎大家参考,还可以提出疑问或者不同看法噢。
原创作品,转载请标明出处!!

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值