在nginx.conf的http{}添加
limit_zone one $binary_remote_addr 10m;
然后在 虚拟机里写
location / {
limit_conn one 1; 线程
limit_rate 100k; 速度
表示限速100K 每个客户端只允许一个线程
最终速度=rate * conn
-----------------------------------------------------------------
limit_zone one $binary_remote_addr 32k;
server {
listen 80;
server_name 192.168.1.222;
location / {
root /var/www/html;
index index.html index.htm index.php;
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
limit_conn one 2;
limit_rate 10k;
}
说明:
limit_zone,针对每个IP定义一个存储session状态的容器。要求大于等于32K。
limit_conn,限制每个IP发起的连接数,比如本实例设了2个,当我用IE进行单线程下载的时候还可以打开该站点的一个网页。而用迅雷下载时,迅雷会启用2个线程下载,所以当再去打开网页的时候,服务器端会返回错误请求。该值建议设置得高一些,比如15左右。
limit_rate,限制每个连接速度为10K,此限制是针对单个线程,比如这个例子,我用IE下载是10K,当用迅雷时它会占用2个线程,所以迅雷下载速度为20K,此实例也很好的解释了迅雷下载速度快的原因。
» 阅读全文