Apache限制下载线程数与带宽详解
来源:互联网 发布:excel数据分列怎么用 编辑:程序博客网 时间:2024/05/20 20:45
2014年放了一台服务器到数据中心,发现下载量很大,大部份是用迅雷下载这样会造成服务器负担过大,有人下载时会打不开网页的现象,所以网上查找解决下载限制的方法。
找到mod_limitipconn与mod_bw这两个模块,前者是限制下载线程数,后者是限制带宽但是发现,网上90%是转载的文章,有些根本没有实际使用过,经过我花大量的时间,才真正用上了这两个模块。现在一个一个介绍。
首先要使用这两个模块,必须在httpd.conf找到
LoadModule status_module modules/mod_status.so
将前面的#去掉
同时在这句下面写上
ExtendedStatus On
LoadModule limitipconn_module modules/mod_limitipconn.dll
LoadModule bw_module modules/mod_bw.dll
我使用的是windows 如果是其它系统,dll 换成so
我使用的环境是XAMPP1.7.7 apache 2.2.21
mod_limitipconn
官网下载地址:http://dominia.org/djao/limitipconn.html
限制下载线程模块,我希望用户只能开5个线程进行下载,只对ZIP,RAR做限制,不对其它文件做
限制,所以用户可以打开N多个网页,根据官方使用说明是这样的
<Location />
# 全局设置,对所有网站进行
MaxConnPerIP 1
NoIPLimit image/*
<Location /somewhere>
# 对指定目录设置,/somewhere代表网站根目录下的somewhere
目录
MaxConnPerIP 3
OnlyIPLimit audio/mpeg video
</Location>
</Location>
上面表示什么意思呢,就是说,对所有网站所有目录,限制同一个IP只能访问一次网站
但是 NoIPLimit image/* 对图片不影响,也就是说,你打开网页只能打开一次,你马上打开另一
个页面会出现503的错
OnlyIPLimit audio/mpeg video 表示仅对 音频与视频文件做IP线制,而且是somewhere目录 。
这就是官方的例子,也是大部份网站转载的例子,但实际上根本不符合要求。
比如说 audio/mpeg video image/* 是怎么来的呢,如何写呢,这里我告诉大家,这是MIME类型
,在apache的conf目录中有一个mime.types文件里面列出了常用的MIME类型
现在,我要对ZIP,RAR文件做限制,下载嘛,也就是这两种文件的包大,正确成功的写法如下
<Location />
MaxConnPerIP 5
#OnlyIPLimit application/zip application/octet-stream application/x-rar-compressed
OnlyIPLimit application/zip application/x-rar-compressed
</Location>
看到没,只允许用户下载zip,rar同时开5个线程下载,打开第6个就会返回503的错
这里有一点要注意,这个限制线程的模块MIME最好是确定的类型,像application/octet-stream
是不能成功的,这个表示bin iso等多种类型的MIME
只有像application/zip这种确定唯一类型的才会生效成功,多种类型之间用空格隔开
mod_bw
官方下载地址
http://ivn.cl/2010/01/06/downloads-for-bandwidth-mod/
这个是限制带宽的,网上有很多例子,都是正确的。
这里我直接给出我服务器上的配置
<Directory />
Options FollowSymLinks
AllowOverride All
Order deny,allow
Deny from all
Satisfy all
BandwidthModule On //打开On 关闭 off
ForceBandwidthModule On//打开On 关闭 off
MaxConnection all 10000 限制最大IP数
Bandwidth all 0
MinBandwidth all 0
LargeFileLimit * 512000 220000 //当文件大于512M时限速220K每秒
找到mod_limitipconn与mod_bw这两个模块,前者是限制下载线程数,后者是限制带宽但是发现,网上90%是转载的文章,有些根本没有实际使用过,经过我花大量的时间,才真正用上了这两个模块。现在一个一个介绍。
首先要使用这两个模块,必须在httpd.conf找到
LoadModule status_module modules/mod_status.so
将前面的#去掉
同时在这句下面写上
ExtendedStatus On
LoadModule limitipconn_module modules/mod_limitipconn.dll
LoadModule bw_module modules/mod_bw.dll
我使用的是windows 如果是其它系统,dll 换成so
我使用的环境是XAMPP1.7.7 apache 2.2.21
mod_limitipconn
官网下载地址:http://dominia.org/djao/limitipconn.html
限制下载线程模块,我希望用户只能开5个线程进行下载,只对ZIP,RAR做限制,不对其它文件做
限制,所以用户可以打开N多个网页,根据官方使用说明是这样的
<Location />
# 全局设置,对所有网站进行
MaxConnPerIP 1
NoIPLimit image/*
<Location /somewhere>
# 对指定目录设置,/somewhere代表网站根目录下的somewhere
目录
MaxConnPerIP 3
OnlyIPLimit audio/mpeg video
</Location>
</Location>
上面表示什么意思呢,就是说,对所有网站所有目录,限制同一个IP只能访问一次网站
但是 NoIPLimit image/* 对图片不影响,也就是说,你打开网页只能打开一次,你马上打开另一
个页面会出现503的错
OnlyIPLimit audio/mpeg video 表示仅对 音频与视频文件做IP线制,而且是somewhere目录 。
这就是官方的例子,也是大部份网站转载的例子,但实际上根本不符合要求。
比如说 audio/mpeg video image/* 是怎么来的呢,如何写呢,这里我告诉大家,这是MIME类型
,在apache的conf目录中有一个mime.types文件里面列出了常用的MIME类型
现在,我要对ZIP,RAR文件做限制,下载嘛,也就是这两种文件的包大,正确成功的写法如下
<Location />
MaxConnPerIP 5
#OnlyIPLimit application/zip application/octet-stream application/x-rar-compressed
OnlyIPLimit application/zip application/x-rar-compressed
</Location>
看到没,只允许用户下载zip,rar同时开5个线程下载,打开第6个就会返回503的错
这里有一点要注意,这个限制线程的模块MIME最好是确定的类型,像application/octet-stream
是不能成功的,这个表示bin iso等多种类型的MIME
只有像application/zip这种确定唯一类型的才会生效成功,多种类型之间用空格隔开
NoIPLimit的写法和OnlyIPLimit是一样的,这里就不列出了,一般是用不上,下面这张图是监控出来的效果,用的是卡巴网络监视
大家可以上我的网站
http://www.panshy.com/download/other/Video/2014-03-10/205.php
试试下载,看能不能5个以上线程正确下载
mod_bw
官方下载地址
http://ivn.cl/2010/01/06/downloads-for-bandwidth-mod/
这个是限制带宽的,网上有很多例子,都是正确的。
这里我直接给出我服务器上的配置
<Directory />
Options FollowSymLinks
AllowOverride All
Order deny,allow
Deny from all
Satisfy all
BandwidthModule On //打开On 关闭 off
ForceBandwidthModule On//打开On 关闭 off
MaxConnection all 10000 限制最大IP数
Bandwidth all 0
MinBandwidth all 0
LargeFileLimit * 512000 220000 //当文件大于512M时限速220K每秒
</Directory>
我的官方网文章
http://www.panshy.com/article/Sort_webdev_dev/other/2014-03-11/2469.php
0 0
- Apache限制下载线程数与带宽详解
- apache限制并发数,IP,带宽设置
- apache限制并发数,IP,带宽设置
- Apache 限制下载速度与并发数
- apache cband模板限制IP并发连接数和带宽
- apache限制并发数 IP 带宽设置教程
- [httpd.conf]apache限制IP的并发数以及限制带宽的设置
- Apache限制客户端同一个IP线程数
- nginx配置limit_conn_zone来限制并发连接数以及下载带宽
- apache 限制每个连接的带宽
- 备忘:Ngnix配置下载目录并限制并发数量与下载带宽的方法
- 对nginx单线程限制带宽
- Apache 限制并发连接数和下载速度 的配置
- 利用apache限制IP并发数和下载流量控制
- Apache限制IP连接数与并发数设置
- apache连接数限制
- Nginx下载速度以及带宽限制(上传不能限制)
- apache限制下载文件大小
- 多台笔记本同时上网方法
- b2DebugDraw到底是什么
- 直接拿来用!最火的Android开源项目
- Codeforces Round #127 (Div. 2) A. LLPS
- sublime text 2 中文乱码解决办法
- Apache限制下载线程数与带宽详解
- Remove Duplicates from Sorted List
- 1.简单工厂模式
- jenkins Build periodically 参数配置
- 14个办公室减肥小妙招 快速瘦身
- 来电归属地数据查询Java实现
- 办公室减肥小妙招
- 办公室减肥操
- XAMPP的常用路径