公司使用的是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。