首頁 >運維 >Nginx >nginx限流及組態管理的方法

nginx限流及組態管理的方法

王林
王林轉載
2023-05-12 14:52:061292瀏覽

    nginx限流

    http {
      limit_conn_zone $binary_remote_addr zone=addr:10m;
      //$binary_remote_addr 表示通过remote_addr这个标识来做限制
      //zone=addr:10m 表示生成一个大小为10M,名字为addr的内存区域
      ...
      server {
        location /download/ {
        limit_conn addr 1; #限制并发数
        limit_rate 50k; #限制带宽
     }
    }

    nginx限流及組態管理的方法

    #限制並發連線數

    nginx限流及組態管理的方法

    $binary_remote_addr :表示透過remote_addr這個標識來做限制,「binary_」的目的是縮寫記憶體佔用量,是限制同一​​客戶端ip位址
    zone=addr:10m:表示產生一個大小為10M,名字為addr的記憶體區域,用來儲存存取的頻次資訊

    nginx限流及組態管理的方法

    nginx限流及組態管理的方法

    nginx限流及組態管理的方法

    nginx限流及組態管理的方法

    nginx限流及組態管理的方法

    nginx限流及組態管理的方法

    nginx限流及組態管理的方法

    nginx限流及組態管理的方法

    http狀態碼

    nginx限流及組態管理的方法

    400-499 用來指出客戶端的錯誤。

    nginx限流及組態管理的方法  500-599 用於支援伺服器錯誤。

    nginx限流及組態管理的方法

    限制相同客戶端的存取頻次

    nginx限流及組態管理的方法

    #rate=1r/s:表示允許相同識別的客戶端的存取頻次,這裡限制的是每秒1次,即每秒只處理一個請求,還可以有例如30r/m的,即限制每2秒訪問一次,即每2秒才處理一個請求。

    nginx限流及組態管理的方法

    nginx限流及組態管理的方法

    nginx限流及組態管理的方法

    #burst

    nginx限流及組態管理的方法

    burst=5:burst爆發的意思,這個配置的意思是設定一個大小為5的緩衝區.
    當有大量請求(爆發)過來時,超過了訪問頻次限制的請求可以先放到這個緩衝區內等待,但這個等待區裡的位置只有5個,超過的請求會直接報503的錯誤然後回傳。

    nginx限流及組態管理的方法

    nginx限流及組態管理的方法

    nginx限流及組態管理的方法

    nginx限流及組態管理的方法

    nodelay

    nginx限流及組態管理的方法#如果設置,會在瞬時提供處理(burst rate)個請求的能力,請求超過(burst rate)的時候就會直接返回503,永遠不存在請求需要等待的情況。 (這裡的rate的單位是:r/s).

    如果沒有設置,則所有請求會依序等待排隊.

    nginx限流及組態管理的方法

    nginx限流及組態管理的方法

    nginx限流及組態管理的方法

    ##############limit_rate限制頻寬########################### ############

    nginx配置管理

    自動索引

    nginx限流及組態管理的方法

    nginx限流及組態管理的方法

    nginx限流及組態管理的方法

    #expire快取配置

    nginx限流及組態管理的方法

    nginx限流及組態管理的方法

    nginx限流及組態管理的方法

    #location表達式類型

    #~ 表示執行一個正規匹配,區分大小寫
    ~* 表示執行一個正規匹配,不區分大小寫
    ^~ 表示普通字元匹配。優先使用前綴匹配。如果匹配成功,則不再匹配其他location。
    = 進行普通字元精確比對。也就是完全匹配。
    @ “@” 定義一個命名的location,使用在內部定向時,例如error_page, try_files
    / :通用匹配, 如果沒有其它匹配,任何請求都會匹配到;

    #location 表達式優先權

    location = > location 完整路徑> location ^~ 路徑> location ~ ,~* 正規順序> location 部分起始路徑(前綴匹配) >/

    日誌輪詢

    nginx限流及組態管理的方法

    nginx限流及組態管理的方法

    nginx限流及組態管理的方法

    nginx限流及組態管理的方法

    nginx限流及組態管理的方法

    nginx限流及組態管理的方法

    nginx限流及組態管理的方法

    nginx限流及組態管理的方法為了安全,日誌目錄不需要給你nginx用戶存取權限,設定# chmod -R 700 /usr/local/nginx/logs

    #禁止不必要的目錄日誌nginx限流及組態管理的方法

    nginx限流及組態管理的方法

    nginx限流及組態管理的方法

    nginx限流及組態管理的方法

    nginx限流及組態管理的方法

    nginx限流及組態管理的方法

    nginx限流及組態管理的方法

    nginx限流及組態管理的方法

    #網站目錄和檔案的限制

    ### #####################中文亂碼######設定charset utf-8;###

    以上是nginx限流及組態管理的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

    陳述:
    本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除