公司使用的是Nginx作文件服務器,最近服務器流量增大,老闆提出要給每一個客戶端進行限速。html
在Nginx中進行限速配置:linux
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 xxxxnginx
查過資料以後才知道,原來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。