1. 程式人生 > >Nginx限制用戶下載文件速率

Nginx限制用戶下載文件速率

mona pre soft false highlight new overflow ... size

下載www.linuxom.com/download/movie.avi 文件,默認情況下,很快就可以下載完成

# time wget http://42.51.137.195/download/movie.avi  --2013-04-05 02:42:39--  http://42.51.137.195/download/movie.avi  正在連接 42.51.137.195:80... 已連接。  
已發出 HTTP 請求,正在等待回應... 200 OK  
長度:40817431 (39M) [video/x-msvideo]  
正在保存至: “movie.avi.1”  100%[======================================>] 40,817,431   116M/s   in 0.3s  2013-04-05 02:42:40 (116 MB/s) - 已保存 “movie.avi.1” [40817431/40817431])  real    0m0.342s  user    0m0.021s  sys     0m0.180s


修改nginx.conf文件,限制下載速度為128kb/s

location /download {  
    limit_rate 128k;  
}


重新加載配置文件

/usr/local/nginx/sbin/nginx -s reload


再次下載www.linuxom.com/download/movie.avi 文件

# time wget http://42.51.137.195/download/movie.avi  --2013-04-05 02:51:28--  http://42.51.137.195/download/movie.avi  正在連接 42.51.137.195:80... 已連接。  
已發出 HTTP 請求,正在等待回應... 200 OK  
長度:40817431 (39M) [video/x-msvideo]  
正在保存至: “movie.avi.5”3% [===>                                      ] 1,572,864    526K/s         
#########################省略部分內容########################real    0m1.332suser    0m0.009ssys     0m0.011s


發現限速成功。


如果想設置用戶下載文件的前10m大小時不限速,大於10m後再以128kb/s限速可以增加以下配內容,修改nginx.conf文件

location /download {  
    limit_rate_after 10m;  
    limit_rate 128k;  
}


重新加載配置文件

/usr/local/nginx/sbin/nginx -s reload


再次下載www.linuxom.com/download/movie.avi 文件

# time wget http://42.51.137.195/download/movie.avi  --2013-04-05 02:55:33--  http://42.51.137.195/download/movie.avi  正在連接 42.51.137.195:80... 已連接。  
已發出 HTTP 請求,正在等待回應... 200 OK  
長度:40817431 (39M) [video/x-msvideo]  
正在保存至: “movie.avi.8”  26% [=================================>] 11,026,432  9.62M/s     
######################省略部分內容###########################  real    0m57.149s  user    0m0.013s  sys     0m0.212s


發現前10m左右,約為文件的26%時,文件下載不限速,隨後開始限速。


Nginx限制用戶下載文件速率