Nginx學習筆記(五 Nginx快取與限流)

2022-05-03 12:48:21 字數 1497 閱讀 8037

顧名思義,nginx快取就是nginx在接受到**伺服器的資料後,根據cache的配置將這樣寫資料快取到本地硬碟。

當客戶端下次訪問相同資料時,nginx伺服器直接從硬碟檢索到響應的資料給客戶,從而減少於被**伺服器互動的時間。

proxy_cache_path:快取檔案的存放路徑。

proxy_cache_key:定義快取唯一key,判斷快取存放的路徑就是用此key的hash值。

proxy_cache_valid:設定快取內容和時間,上述示例則是對httpcode=200、206、304、301、302進行10分鐘的快取。

測試限流的壓測工具:apache bench(可用於簡單的壓測)。

1、令牌桶:

原理解析:

2、漏桶:

原理解析:

令牌桶演算法和漏桶演算法最明顯的區別就是是否允許突發流出的處理。

我們可以想想,令牌桶是均勻的產生令牌放入桶中,當流量低峰時,桶中的令牌數任然保持為n-x(n=桶的容量,x=當前時間的請求數),即使是突發流量的到來也能處理最大為n的請求數。

而漏桶則不能應對突發流量,因為漏桶的流速是始終固定的,突發流量的到來會導致請求溢位。

limit_conn:存key和計數器的共享記憶體區域和指定key的最大連線數。

limit_conn_zone:用於配置限流key及存放key對應資訊的共享記憶體區域大小。$binary_remote_addr標識根據ip位址,也可以使用$server_name來限制網域名稱最大數。

limit_conn_status:被限流後返回的狀態碼。

limit_conn_log_level:被限流後記錄日誌的級別,預設error級別。

limit_req:配置限流區域、桶容量(突發容量,預設為0)、是否延遲(預設延遲)。

limit_req_zone:限流key,存放key對應資訊的共享記憶體區域大小、固定請求速率。固定請求速率支援10r/s或者60r/m,即每秒10個請求或每分鐘60個請求。

limit_conn_status:被限流後返回的狀態碼。

limit_conn_log_level:被限流後記錄日誌的級別,預設error級別。

基於連線,限制併發連線數;基於請求,限制訪問頻率。

Nginx 學習筆記

nginx配置proxy pass 的 路徑問題 在nginx中配置proxy pass時,如果是按照 匹配路徑時,要注意proxy pass後的url最後的 當加上了 相當於是絕對根路徑,則nginx不會把location中匹配的路徑部分 走 如果沒有 則會把匹配的路徑部分也給 走。locatio...

Nginx學習筆記

常用命令 啟動 start nginx 或者 nginx.exe 停止 nginx.exe s stop 或者 nginx.exe s quit stop是快速停止nginx,quit是完整有序的停止nginx 重啟 nginx.exe s reload 配置資訊修改使用此命令 配置 1 匹配以ro...

nginx學習筆記

mac os x 10.11.5環境 brew install nginx 即可。預設安裝目錄 usr local etc nginx。可以修改目錄下nginx.conf檔案的配置,將8080改為8081,則通過http localhost 8081訪問就可以看到nginx的歡迎介面了。主程序可以處...