解讀nginx中l(wèi)imit配置參數(shù)
本文主要解析一下ngx_http_core_module、ngx_http_limit_conn_module以及ngx_http_limit_req_module中的limit相關(guān)配置參數(shù)。
limit_rate
名稱 | 默認(rèn)配置 | 作用域 | 官方說明 | 中文解讀 | 模塊 |
---|---|---|---|---|---|
limit_rate | limit_rate 0; | http, server, location, if in location | Limits the rate of response transmission to a client. The rate is specified in bytes per second. The zero value disables rate limiting. The limit is set per a request, and so if a client simultaneously opens two connections, the overall rate will be twice as much as the specified limit. | 指定每秒該連接能下載的bytes,主要用來限制個別請求的帶寬 | ngx_http_core_module |
limit_rate_after | limit_rate_after 0; | http, server, location, if in location | Sets the initial amount after which the further transmission of a response to a client will be rate limited. | 設(shè)置多少bytes過后將啟動limit計數(shù),如果小于此值則不限速 | ngx_http_core_module |
limit_except | 沒有默認(rèn)值 | location | Limits allowed HTTP methods inside a location. The method parameter can be one of the following: GET, HEAD, POST, PUT, DELETE, MKCOL, COPY, MOVE, OPTIONS, PROPFIND, PROPPATCH, LOCK, UNLOCK, or PATCH. Allowing the GET method makes the HEAD method also allowed | 設(shè)置除了指定的http methods外其他method將被限制,允許GET就自動允許HEAD方法 | ngx_http_core_module |
實(shí)例
location /downloads { limit_rate_after 1m; limit_rate 500k; } location / { proxy_pass http://localhost:3000; limit_except GET { deny all; } }
limit_conn
名稱 | 默認(rèn)配置 | 作用域 | 官方說明 | 中文解讀 | 模塊 |
---|---|---|---|---|---|
limit_conn | 沒有默認(rèn)值,語法 limit_conn zone number; | http, server, location | Sets the shared memory zone and the maximum allowed number of connections for a given key value. When this limit is exceeded, the server will return the error in reply to a request. | 指定一個zone的每個key最大連接數(shù) | ngx_http_limit_conn_module |
limit_conn_zone | 沒有默認(rèn)值,語法 limit_conn_zone key zone=name:size; | http | Sets parameters for a shared memory zone that will keep states for various keys. In particular, the state includes the current number of connections. The key can contain text, variables, and their combination. Requests with an empty key value are not accounted. | 第一個參數(shù)是key,第二個參數(shù)是指定zone及其存放元數(shù)據(jù)(key,current num of conns per key,zone size)的共享內(nèi)存大小 | ngx_http_limit_conn_module |
limit_conn_log_level | limit_conn_log_level error; | http, server, location | Sets the desired logging level for cases when the server limits the number of connections. This directive appeared in version 0.8.18. | 指定當(dāng)觸發(fā)limit的時候日志打印級別 | ngx_http_limit_conn_module |
實(shí)例
http { limit_conn_zone $binary_remote_addr zone=ips:10m; limit_conn_zone $server_name zone=servers:10m; limit_conn_log_level notice; server { # these limits apply to the whole virtual server limit_conn ips 10; # only 1000 simultaneous connections to the same server_name limit_conn servers 1000; } }
limit_req
名稱 | 默認(rèn)配置 | 作用域 | 官方說明 | 中文解讀 | 模塊 |
---|---|---|---|---|---|
limit_req | 沒有默認(rèn)值,語法 limit_req zone=name [burst=number] [nodelay]; | http, server, location | Sets the shared memory zone and the maximum burst size of requests. If the requests rate exceeds the rate configured for a zone, their processing is delayed such that requests are processed at a defined rate. Excessive requests are delayed until their number exceeds the maximum burst size in which case the request is terminated with an error. | 指定zone的burst大小 | ngx_http_limit_req_module |
limit_req_zone | 沒有默認(rèn)值,語法 limit_req_zone key zone=name:size rate=rate; | http | Sets parameters for a shared memory zone that will keep states for various keys. In particular, the state stores the current number of excessive requests. The key can contain text, variables, and their combination. Requests with an empty key value are not accounted. | 第一個參數(shù)指定key,第二個參數(shù)指定zone名稱和元數(shù)據(jù)的內(nèi)存大小,第三個參數(shù)rate指定單位時間的請求數(shù)閾值 | ngx_http_limit_req_module |
limit_req_log_level | limit_req_log_level error; | http, server, location | Sets the desired logging level for cases when the server refuses to process requests due to rate exceeding, or delays request processing. Logging level for delays is one point less than for refusals. | 指定觸發(fā)req limit時打印的日志級別 | ngx_http_limit_req_module |
實(shí)例
http { limit_req_zone $binary_remote_addr zone=myreqzone:10m limit_req_log_level warn; server { ## 每個ip限定10個連接數(shù) ## 正常一個瀏覽器給每個host開兩到三個連接 ## 觸發(fā)的話會返回503 ## nodelay表示一上來就直接計算,不經(jīng)過一些預(yù)熱后再計算 limit_req zone=myreqzone burst=10 nodelay; } }
以上就是我們整理的nginx中l(wèi)imit配置參數(shù)的全部內(nèi)容,大家可以在下方的留言區(qū)討論,感謝你對腳本之家的支持。
相關(guān)文章
Nginx服務(wù)器上搭建圖片緩存服務(wù)的基本配置解析
這篇文章主要介紹了Nginx服務(wù)器上搭建圖片緩存服務(wù)的基本配置解析,分別介紹了通過proxy_store模塊和proxy_cache模塊兩種方式的配置,需要的朋友可以參考下2016-04-04關(guān)于多級緩存使用(nginx本地緩存、JVM進(jìn)程緩存、redis緩存)
這篇文章主要介紹了關(guān)于多級緩存使用(nginx本地緩存、JVM進(jìn)程緩存、redis緩存),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-08-08實(shí)例詳解SpringBoot+nginx實(shí)現(xiàn)資源上傳功能
這篇文章主要介紹了SpringBoot+nginx實(shí)現(xiàn)資源上傳功能,由于小編最近在使用nginx放置靜態(tài)資源問題,遇到很多干貨,特此分享到腳本之家平臺,供大家參考,需要的朋友可以參考下2019-10-10Nginx 反向代理與負(fù)載均衡運(yùn)行小結(jié)
Nginx還支持對后端服務(wù)器進(jìn)行健康檢查,當(dāng)某個服務(wù)器不可用時,Nginx會自動將流量重定向到其他可用的服務(wù)器,這篇文章給大家分享Nginx 反向代理與負(fù)載均衡是如何運(yùn)行的,感興趣的朋友一起看看吧2024-03-03nginx中狀態(tài)統(tǒng)計的實(shí)現(xiàn)
本文主要介紹了nginx中狀態(tài)統(tǒng)計的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04Nginx反向代理實(shí)現(xiàn)Vue跨域的示例
本文主要介紹了Nginx反向代理實(shí)現(xiàn)Vue跨域的示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06Nginx配置參數(shù)中文說明詳解(負(fù)載均衡與反向代理)
最近在看高性能Linux服務(wù)器構(gòu)建實(shí)戰(zhàn)的Nginx章節(jié),對其nginx介紹的非常詳細(xì),現(xiàn)把經(jīng)常用到的Nginx配置參數(shù)中文說明摘錄和nginx做負(fù)載均衡的本人真實(shí)演示實(shí)例抄錄下來以便以后查看2020-03-03