Nginx的proxy buffer引數總結

2022-03-02 13:06:23 字數 1895 閱讀 7221

語法:proxy_buffering on|off

預設值:proxy_buffering on

上下文:http,server,location

作用:該指令開啟從後端被**伺服器的響應body緩衝。

如果proxy_buffering開啟,nginx假定被**的後端伺服器會以最快速度響應,並把內容儲存在由指令 proxy_buffer_size 和 proxy_buffers 指定的緩衝區裡邊.

如果響應body無法放在記憶體裡邊,那麼部分內容會被寫到磁碟上。

如果proxy_buffering被關閉了,那麼響應body會按照獲取body的多少立刻同步傳送到客戶端。nginx不嘗試計算被**伺服器整個響應body的大小,nginx能從伺服器接受的最大資料,是由指令 proxy_buffer_size指定的。

對於基於長輪詢(long-polling)的comet 應用來說,關閉 proxy_buffering 是重要的,不然非同步響應將被快取導致comet無法工作。

但是無論proxy_buffering是否開啟,proxy_buffer_size都是生效的

語法:proxy_buffers  數量  size

預設值:proxy_buffers 256 8k

上下文:http,server,location

作用:設定儲存被**伺服器響應的body所占用的buffer個數和每個buffer大小。

具體的意思是說,開闢256個長度為8k大小的read_buf用來儲存body,當然不是連線建立初始化時就開闢256個,而是當當前buf不夠存響應body時才會新申請乙個,最多申請256個buf。

語法:proxy_buffer_size size

預設值:proxy_buffer_size 4k/8k

上下文:http,server,location

作用:nginx使用該大小申請read_buf,即大小指定了 upstream header 最大長度,如果響應頭超過了這個長度,nginx會報upstream sent too big header錯誤,然後client收到的是502。

語法:proxy_busy_buffer_size  size

上下文:http,server,location

作用:proxy_busy_buffers_size不是獨立的空間,他是proxy_buffers和proxy_buffer_size的一部分。

nginx會在沒有完全讀完後端響應就開始向客戶端傳送資料,所以它會劃出一部分busy狀態的buffer來專門向客戶端傳送資料(建議為proxy_buffers中單個緩衝區的2倍),然後它繼續從後端取資料。

proxy_busy_buffer_size引數用來設定處於busy狀態的buffer有多大。

1)如果完整資料大小小於busy_buffer大小,當資料傳輸完成後,馬上傳給客戶端;

2)如果完整資料大小不小於busy_buffer大小,則裝滿busy_buffer後,馬上傳給客戶端;

語法:proxy_temp_path  path [level1 level2 level3]

預設值:proxy_temp_path proxy_temp

上下文:http,server,location

作用:定義proxy的臨時檔案存在目錄以及目錄的層級。

語法:proxy_max_temp_file_size size;

預設值:proxy_max_temp_file_size 1024m;

上下文:http, server, location

作用:設定臨時檔案的總大小

作用:設定同時寫入臨時檔案的資料量的總大小。通常設定為8k或者16k。

Nginx 二 nginx的安裝

使用命令 tar zxvf pcre 8.37.tar.gz 進入pcre目錄 cd pcre 8.37 執行命令 configure 掃瞄依賴建立依賴 make 安裝 make install 檢視版本 pcre config version 成功 8.37 為版本號 執行命令 yum y ins...

nginx 二 nginx的安裝

把原始碼解壓縮之後,在終端裡執行如下命令 configure make make install 預設情況下,nginx 會被安裝在 usr local nginx。通過設定編譯選項,你可以改變這個設定 乙個寫好了的編譯選項 nginx的使用比較簡單,就是幾條命令。常用到的命令如下 nginx s ...

Nginx 實戰 nginx的日誌配置

nginx的錯誤日誌 nginx錯誤日誌平時不用太關注,但是一旦出了問題,就需要借助錯誤日誌來判斷問題所在。配置引數格式 error log path to log level nginx錯誤日誌級別 常見的錯誤日誌級別有debug info notice warn error crit alert...