這些模組預設會全部編譯進Nginx,除非手工指定某個模組在configure時排除。
這個模組可以為一個位址指定的會話或者某些特殊情況限制同時連接數,
如下例:
HTTP { limit_zone one $binary_remote_addr 10m; server { location /download/ { limit_conn one 1; } }}
指令
limit_zone
語法:limit_zone zone_HTTP://www.aliyun.com/zixun/aggregation/11696.html">name $variable memory_max_size
預設值:no
使用欄位:HTTP
指令描述會話狀態存儲區域。
會話的數目按照指定的變數來決定,它依賴于使用的變數大小和memory_max_size的值。
如下例:
limit_zone one $binary_remote_addr 10m;
用戶端的位址將用於會話,注意$binary_remote_addr變數將替換$remote_addr而被使用。
$remote_addr 變數的值的長度可以是7到15位元組,因此大小指定為32或64位元組。
$binary_remote_addr 變數的值的長度總是4位元組,大小總是32位元組。
當會話狀態儲存區域為1M時理論上可以處理32000個會話,每個會話大小為32位元組。
limit_conn
語法:limit_conn zone_name max_clients_per_ip
預設值:no
使用欄位:HTTP, server, location
指令指定一個會話的最大同時連接數,超過這個數位的請求將被返回」Service unavailable」 (503)代碼。
如下例:
limit_zone one $binary_remote_addr 10m; server { location /download/ { limit_conn one 1;}
這將指定一個位址只能同時存在一個連接。
limit_conn_log_level
語法: limit_conn_log_level info | notice | warn | error
預設值: error
使用欄位: HTTP, server, location
當達到最大連接數後記錄日誌的等級。