Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> 電腦軟件教程 >> 服務器技術 >> 關於服務器 >> Nginx訪問限速配置方法詳解

Nginx訪問限速配置方法詳解

日期:2017/2/8 10:12:38      編輯:關於服務器

剛遇到一個Bug在網絡很卡的情況下才能重現,本地調試訪問本機速度太快,配置Nginx成功達到限速目的,在此分享出來。

配置簡單,只需3行,打開"nginx根目錄/conf/nginx.conf"配置文件修改如下:

查看源代碼打印幫助

 代碼如下    http{ 
 
     …… 
 
     limit_zone one $binary_remote_addr 10m; 
 
     …… 
 
     server { 
 
         location / { 
 
             …… 
 
            limit_conn one 2; 
 
             limit_rate 40k; 
 
         } 
 
     } 
 
 }

以上配置解釋:limit_zone針對每個IP定義一個存儲session狀態的容器。這個示例中定義了一個名叫one的10m大小的容器,這個名字會在後面的limit_conn中使用。limit_conn指定每個訪客只能建立兩條鏈接,limit_rate限制每條鏈接的速度不超過40K。所以,以上配置限制用戶訪問此站點總速度上限為80K。

屬性說明limit_zone

語法:limit_zone zone_name $variable memory_max_size

作用域:http

limit_conn

語法: limit_conn zone_name 允許每個客戶端建立的鏈接數

作用域:http, server, location

limit_rate

語法:limit_rate 每個鏈接的最大速率

作用域:http, server, location

案例案例1:下載資源放在http://domain/download/路徑下,針對每個訪客下載限速為100K,且只能同時鏈接1個下載鏈接。

查看源代碼打印幫助

 代碼如下    http{ 
 
     server { 
 
         location /download/ { 
 
             …… 
 
             limit_conn one 1; 
 
             limit_rate 100k; 
 
         } 
 
     } 

 
 }案例2:每個訪客訪問站點的速度最大不超過100K,且可建立5條鏈接。

查看源代碼打印幫助

 代碼如下   http{ 
 
     server { 
 
         location /download/ { 
 
             …… 
 
             limit_conn one 5; 
 
             limit_rate 20k; 
 
         } 
 
     } 
 
 }

由於linit_rate是對每個鏈接限速,以上例子有5條鏈接,保證總速度不超過100K則每條鏈接不超過20K

Copyright © Windows教程網 All Rights Reserved