Nginx限速遇到的問題


公司使用的是Nginx做文件服務器,最近服務器流量增大,老板提出要給每個客戶端進行限速。

在Nginx中進行限速配置:

http { 
  limit_zone one $binary_remote_addr 10m;  
  server { 
    location /download/ { 
 limit_conn one 1; limit_rate 300k; 
    } 
  } 
} 

 

結果提示錯誤:nginx: [emerg] unknown directive "limit_zone" in xxxx

查過資料之后才知道,原來Nginx從v1.1.8版本之后就用limit_conn_zone替換掉了limit_zone,具體見:nginx v1.1.8新語法 limit_conn_zone 替換和 limit_conn 用法

當我修改之后,就可以啟動了

http { 
  limit_conn_zone $binary_remote_addr zone=one:10m; #容器共使用10M的內存來對於IP傳輸開銷
  server { 
    location /download/ { 
      limit_conn one 1;  #限制每個IP只能發起一個並發連接
      limit_rate 300k;   #對每個連接限速300k。
    } 
  } 
} 


#注意,這里是對連接限速,而不是對IP限速。
#如果一個IP允許兩個並發連接,那么這個IP就是限速limit_rate×2。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM