Nginx服務(wù)器對(duì)數(shù)據(jù)傳輸速度限制的基本配置方法講解
注意:
nginx 1.1.8 之后的版本的語(yǔ)法改為limit_conn_zone $binary_remote_addr zone=NAME:10m;
NAME 就是 zone 的名字詳情請(qǐng)看這里 http://nginx.org/en/docs/http/ngx_http_limit_conn_module.html
限制連接數(shù):
要限制連接,必須先有一個(gè)容器對(duì)連接進(jìn)行計(jì)數(shù),在http段加入如下代碼:
"zone=" 給它一個(gè)名字,可以隨便叫,這個(gè)名字要跟下面的 limit_conn 一致
$binary_remote_addr = 用二進(jìn)制來(lái)儲(chǔ)存客戶(hù)端的地址,1m 可以?xún)?chǔ)存 32000 個(gè)并發(fā)會(huì)話(huà)
... 省掉 N 字
http
{
limit_conn_zone $binary_remote_addr zone=addr:10m;
接下來(lái)需要對(duì)server不同的位置(location段)進(jìn)行限速,比如限制每個(gè)IP并發(fā)連接數(shù)為1,則
server
{
listen 80;
server_name 192.168.11.128;
index index.html index.htm index.php;
limit_conn addr 1; #是限制每個(gè)IP只能發(fā)起1個(gè)連接 (addr 要跟 limit_conn_zone 的變量對(duì)應(yīng))
limit_rate 100k; #限速為 100KB/秒
root html;
注意事項(xiàng):
limit_rate 100k; //是對(duì)每個(gè)連接限速100k。這里是對(duì)連接限速,而不是對(duì)IP限速!如果一個(gè)IP允許兩個(gè)并發(fā)連接,那么這個(gè)IP就是限速limit_rate * 2
使用Nginx-limit-traffic-rate-module模塊
項(xiàng)目地址:https://github.com/bigplum/Nginx-limit-traffic-rate-module
ngx_http_limit_conn_module 模塊下的指令limit_conn指定每個(gè)給定鍵值的最大同時(shí)連接數(shù),limit_rate指令對(duì)每個(gè)連接的速率限制。參數(shù)rate的單位是字節(jié)/秒,設(shè)置為0將關(guān)閉限速。 按連接限速而不是按IP限制,因此如果某個(gè)客戶(hù)端同時(shí)開(kāi)啟了兩個(gè)連接,那么客戶(hù)端的整體速率是這條指令設(shè)置值的2倍。如果是多線(xiàn)程的下載,limit_rate并不能限制總的速度。
Limit_traffic_rate模塊提供了一種方法,通過(guò)客戶(hù)端IP或下載URL來(lái)限制總的下載速度,即使有多個(gè)連接。
該限制方法如下所示:
http {
#limit_traffic_rate_zone rate $request_uri 32m;
limit_traffic_rate_zone rate $remote_addr 32m;
server {
location /download/ {
limit_traffic_rate rate 20k;
}
}
}
相關(guān)文章
nginx location 配置 正則表達(dá)式實(shí)例詳解
本文通過(guò)實(shí)例代碼給大家介紹了nginx location 配置 正則表達(dá)式的問(wèn)題,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-07-07
Nginx性能優(yōu)化之Gzip壓縮設(shè)置詳解(最大程度提高頁(yè)面打開(kāi)速度)
這篇文章主要介紹了Nginx性能優(yōu)化之Gzip壓縮設(shè)置詳解(最大程度提高頁(yè)面打開(kāi)速度),需要的朋友可以參考下2022-01-01
nginx部署vue項(xiàng)目的詳細(xì)圖文教程
很多小伙伴在做完Vue項(xiàng)目之后,想要部署到服務(wù)器上自己運(yùn)行試試,下面這篇文章主要給大家介紹了關(guān)于nginx部署vue項(xiàng)目的詳細(xì)圖文教程,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09
詳解nginx配置location總結(jié)及rewrite規(guī)則寫(xiě)法
本篇文章主要介紹了詳解nginx配置location總結(jié)及rewrite規(guī)則寫(xiě)法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-02-02
Nginx出現(xiàn)“Too many open files”問(wèn)題的解決方法
在進(jìn)行壓力測(cè)試時(shí),自建CDN節(jié)點(diǎn)的Nginx可能會(huì)出現(xiàn)“Too many open files”錯(cuò)誤,這通常意味著Nginx嘗試打開(kāi)的文件數(shù)量超出了系統(tǒng)的限制,本文將詳細(xì)介紹如何識(shí)別和解決這一問(wèn)題,確保Nginx在負(fù)載較高時(shí)仍能正常運(yùn)行,需要的朋友可以參考下2024-10-10

