91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

nginx+tomcat 報錯:『an upstream response is buffered to a temporary file 』

發布時間:2020-09-18 19:32:01 來源:網絡 閱讀:43416 作者:Harvey_Z 欄目:建站服務器

一、過程描述:

訪問新項目網站發現有靜態資源獲取failed,圖片經常無法顯示,刷新偶爾圖片能顯示出來。

查看nginx日志,有error.log報錯:

【2017/07/21 22:53:12 [warn] 22402#0: *484 an upstream response is buffered to a temporary file /var/tmp/nginx/proxy//6/01/0000000016 while reading upstream, client: xxx.xxx.xxx.xxx, server: wap.xxxxxxxxx.com, request: "GET /source/p_w_picpaths/applyfristbg.jpg HTTP/1.1", upstream: "http://127.0.0.1:8081/source/p_w_picpaths/applyfristbg.jpg", host: "wap.xxxxxxxxx.com", referrer: "http://wap.xxxxxxxxx.com/source/css/apply-first-7ae1ca00a910468d350b293787c7e95dfbebd675.css”】

二、經研究得知:

1、是因為nginx默認的buffer太小,請求頭header太大時會出現緩存不足,寫入到了磁盤中,造成訪問中斷。

2、進而聯系前端得知前端為了SEO,在header中加入和不少的中文詞匯,header那叫一個大。。。

三、解決辦法:

因為nginx+tomcat中,nginx做的proxy,就是反向代理,所以在nginx+tomcat模式中,修改fastcgi_buffer_* 是無效的,需要修改proxy對應的buffer大小。

1、對于( php | python )+nginx的可以設置為:

fastcgi_buffer_size 512k;

fastcgi_buffers 6 512k;

fastcgi_busy_buffers_size 512k;

fastcgi_temp_file_write_size 512k;


2、對于tomcat+nginx的可以設置為:

proxy_buffering    off;     #開啟從后端被代理服務器的響應內容緩沖

proxy_buffer_size  128k;     #設置緩沖區的大小和數量

proxy_buffers 100  128k;     #

client_max_body_size 100m;

對于實際修改的大小,需要按實際情況來。


三、網上查詢的原理:

buffer工作原理

首先第一個概念是所有的這些proxy buffer參數是作用到每一個請求的。每一個請求會安按照參數的配置獲得自己的buffer。proxy buffer不是global而是per request的。

proxy_buffering 是為了開啟response buffering of the proxied server,開啟后proxy_buffers和proxy_busy_buffers_size參數才會起作用。

無論proxy_buffering是否開啟,proxy_buffer_size(main buffer)都是工作的,proxy_buffer_size所設置的buffer_size的作用是用來存儲upstream端response的header。

在proxy_buffering 開啟的情況下,Nginx將會盡可能的讀取所有的upstream端傳輸的數據到buffer,直到proxy_buffers設置的所有buffer們被寫滿或者數據被讀取完(EOF)。此時nginx開始向客戶端傳輸數據,會同時傳輸這一整串buffer們。同時如果response的內容很大的話,Nginx會接收并把他們寫入到temp_file里去。大小由proxy_max_temp_file_size控制。如果busy的buffer傳輸完了會從temp_file里面接著讀數據,直到傳輸完畢。

一旦proxy_buffers設置的buffer被寫入,直到buffer里面的數據被完整的傳輸完(傳輸到客戶端),這個buffer將會一直處在busy狀態,我們不能對這個buffer進行任何別的操作。所有處在busy狀態的buffer size加起來不能超過proxy_busy_buffers_size,所以proxy_busy_buffers_size是用來控制同時傳輸到客戶端的buffer數量的。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

马龙县| 襄城县| 松江区| 兰坪| 台江县| 兴安县| 赤峰市| 德钦县| 芜湖县| 陇西县| 南溪县| 安陆市| 肇源县| 梁平县| 蒲城县| 霞浦县| 肥西县| 沂南县| 云浮市| 四会市| 武城县| 松桃| 同心县| 榕江县| 九龙县| 东兰县| 京山县| 自贡市| 上虞市| 榆中县| 四川省| 铁力市| 武隆县| 阜康市| 泰宁县| 阿克陶县| 长兴县| 宜都市| 江华| 吉安市| 封丘县|