Nginx实现文件下载限速的功能

同一时刻对服务器上文件的大量的高速访问,可能会极大的增加服务器的负担,为了缓解服务器的I/O负担,如果配置了nginx服务器,建议进行限速,具体实现如下:


首先在 http 段配置一个 limit_zone,然后在需要的地方使用 limit_conn 和 limit_rate 进行限速设置,如下一个简单的例子。

http {
  limit_zone one $binary_remote_addr 10m;
  server {
    location /files/ {
      limit_conn one 1;
      limit_rate_after 1000k;
      limit_rate 100k;
    }
  }
}

limit_zone,是针对每个IP定义一个存储session状态的容器。这个示例中定义了一个名叫one的10m大小的容器,这个名字会在后面的limit_conn中使用。
limit_conn one 1,限制在one中记录状态的每个IP只能发起一个并发连接。
limit_rate_after 1000k,在下载1000k后开始限速。
limit_rate 100k,对每个连接限速100k. 注意,这里是对连接限速,而不是对IP限速。如果一个IP允许三个并发连接,那么这个IP就是限速为limit_rate×3,在设置的时候要根据自己的需要做设置调整,要不然会达不到自己希望的目的。


Previous
nodejs npm install -g 全局安装和非全局安装的区别 nodejs npm install -g 全局安装和非全局安装的区别
1、nodejs npm install -g 全局安装和非全局安装的区别2、npm install -S -D -g 有什么区别3、npm install -g 和npm install –save-dev的关系
2018-12-04 Pursue
Next
nginx跨域详解 nginx跨域详解
今天看了一篇nginx跨域原理的文章,还没有验证过,先记下,文章的链接是:http://www.liuyiqi.cn/2015/12/17/nginx-cross-domain/,另外,今天感冒好了,感觉自己萌萌哒。
2018-12-04 Pursue