an upstream response is buffered to a temporary file

编程入门 行业动态 更新时间:2024-10-12 18:19:10
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

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

更多推荐

an upstream response is buffered to a temporary file

本文发布于:2023-06-14 07:45:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1452747.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:response   upstream   buffered   file   temporary

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!