• mod_limitipconn-0.23 (限制ip并发数量)软件下载地址:
  • 点击进入下载页面:下载地址3


网站如果提供一些文件下载,最头疼问题,可能就是用户使用多线程下载,

这样很快耗尽服务器资源,特别是对于一些小网站,许多线程同时访问请求,

一定会对服务器造成一定得影响。

这里我演示一个 可以 限制下载使用的线程数目,只适合于apache服务器,呵呵。

首先测试一下,一个test.avi 如果在服务器被下载的情况,在没有使用限制ip并发连接数,

也就是使用下载工具没有限制线程数量。

我现在服务器上有一个 test.avi 文件,再没有任何限制之下,我们使用迅雷下载

并且设置 5 个线程进行下载。看到了吧, 5个线程都正常请求,在同时下载文件。

好,我先把下载文件 暂停了,

下面我们来安装 限制下载使用的线程(也就是限制同一个ip并发数量)
我这里使用 apache 2.2.8版本

1. 先下载 mod-limitipconn
 在http://dominia.org/djao/limitipconn2.html上下载对应的版本,我下载的是for apache 2.2的版本(mod-limitipconn-0.23.tar.bz2)。

   下载方面,我也会在文章最后提供下载,我现在把它传进Linux下。

2. 安装
# tar xjvf mod_limitipconn-0.23.tar.bz2
mod_limitipconn-0.23/
mod_limitipconn-0.23/Makefile
mod_limitipconn-0.23/mod_limitipconn.c
mod_limitipconn-0.23/README
mod_limitipconn-0.23/ChangeLog
mod_limitipconn-0.23/INSTALL
mod_limitipconn-0.23/LICENSE

# cd mod_limitipconn-0.23

这里注意路径,也就是你自己apache安装的路径。

# /usr/local/apache2/bin/apxs -c -i -a mod_limitipconn.c

该步骤会自动将mod_limitipconn.so编译到apache对应的modules目录中,

还会在httpd.conf文件中自动添加loadmodules语句

最后 修改httpd.conf

vi /etc/httpd.conf

我把下面的修改信息 添加到配置文件最后面。

ExtendedStatus On
<IfModule limitipconn_module>
       <Location />
       MaxConnPerIP 3
       NoIPLimit image/*
       </Location>
       <Location /mp3>
       MaxConnPerIP 1
       OnlyIPLimit audio/mpeg video
       </Location>
</IfModule>

最后保存退出。

重启apache

[root@localhost /]# /usr/local/apache2/bin/apachectl stop
[root@localhost /]# /usr/local/apache2/bin/apachectl start

接着再使用迅雷继续下载刚才的视频文件,观察线程链接情况。

可以看到 5个线程中,有2个线程是不能读取数据的,只有3个线程可以进行连接读取数据。

MaxConnPerIP 3   这个就是配置文件中 所限制的 ip并发连接数目,也就是

我们进行下载允许的线程连接数目。好了,演示就到这里,谢谢大家观看。


“apache2.2.8 使用 mod_limitipconn 限制用户下载使用线程数目”没有评论

有任何疑问或建议,可以给作者留言:



公告:

  • 2010年5月之前的视频是文字解说演示,没有声音。
  • 2010年5月以后的视频全部带声音。