nginx 限制IP最大下载速度,该配置对多线程下载器也起作用
网上用nginx限制Ip的并发数,每个ip的带宽这样的教程贼多,而且都是抄来抄去,很烦。都没有我要的只对某个ip限制他的下载速度,也可能是我的需求比较奇葩不常见吧。下面我就教你一步步怎么弄吧
-
去git上把 Nginx-limit-traffic-rate-module这个模块下载来 地址:https://github.com/bigplum/Nginx-limit-traffic-rate-module 解压出来把Nginx-limit-traffic-rate-module-master文件夹拷贝到/usr/local/src/
-
查看自己nginx的配置信息,获得configure的信息
# nginx -V nginx version: nginx/1.8.0 built by gcc 4.4.7 20120313 (Red Hat 4.4.7-11) (GCC) built with OpenSSL 1.0.1e-fips 11 Feb 2013 TLS SNI support enabled configure arguments: --prefix=/usr/local/nginx --with-http_ssl_module --with-http_sub_module --with-http_gzip_static_module --with-http_stub_status_module --add-module=/data/software/ngx_http_substitutions_filter_module
- 到网上下载对应的nginx1.8.0的源码,如果是lnmp 一般你之前安装lnmpd的时候root/目录里面有打包的源码,如:/root/lnmp1.7/lnmp1.7/src/ 下面就有nginx-1.18.0.tar.gz的源码包,解压源码包进入到源码目录里面:
- 在configure命令里面增加Nginx-limit-traffic-rate-module这个模块
# ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_sub_module --with-http_gzip_static_module --with-http_stub_status_module --add-module=/data/software/ngx_http_substitutions_filter_module --add-module=/usr/local/src/Nginx-limit-traffic-rate-module-master # make //千万不要make install,不然就真的覆盖了
- 替换nginx二进制文件
# cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak # cp ./objs/nginx /usr/local/nginx/sbin/
- 配置nginx.conf
http { limit_traffic_rate_zone rate $remote_addr 64m; server { listen 8888; server_name localhost; location / { limit_traffic_rate rate 2248k; } } }