如何使用apache限制主机或者虚拟主机IP连接数{个人版本}

2004年08月05日22:04 查看...次 作者:esayr  【

昨晚使用网际快车十线程下载主页的一个备份包,发现我的SSH命令突然缓慢'极了.想想,如果有很多人用很多线程下载文件,那我的服务器带宽不是被HAO光..??/ 于是找了找官方手册和搜索了一下,加了个模块...

#wget http://dominia.org/djao/limit/mod_limitipconn-0.22.tar.gz 

#tar zxvf mod_limitipconn-0.22.tar.gz

#cd mod_limitipconn-0.22

#make APXS=/usr/local/apache2/bin/apxs
#make install APXS=/usr/local/apache2/bin/apxs

红色的是我安装apache2的路径

完成后先看看看它有没有把mod_limitipconn.so复制到apache的包含目录下

#locate mod_limitipconn.so

/root/software/mod_limitipconn-0.22/.libs/mod_limitipconn.so

/usr/local/apache2/modules/mod_limitipconn.so

说明已安装好了.

于是编辑httpd.conf文件

#vi /usr/local/apache2/conf/httpd.conf

先找到这一行
#ExtendedStatus On

如果你的和我一样是有#号在前面的,就先把#号去掉 

再查找这个字符串mod_limitipconn.so
如果没找到任何记录,就在任何位置添加以下一行

LoadModule limitipconn_module modules/mod_limitipconn.so

行了,我们可以设置限制了

我限制了每个IP地址只允许3个并发连接

于是在刚才那一行的下面添加

< IfModule mod_limitipconn.c >
  
    < Location / >   
          MaxConnPerIP 3  
          NoIPLimit image/*
    < /Location >

下面的那行  NoIPLimit image/* 手册上说是

# exempting images from the connection limit is often a good
# idea if your web page has lots of inline images, since these
# pages often generate a flurry of concurrent image requests

大概意思是一般页面上有很多图片,所以不做连接限制

做了以上修改.保存退出.然后 重新启动我的apache

#/usr/local/apache2/bin/apachectl restart

红色的是我安装apache2的路径

如果你只想设置某个虚拟主机的连接限制

可以把

< IfModule mod_limitipconn.c >
  
    < Location / >   
          MaxConnPerIP 3  
          NoIPLimit image/*
    < /Location >

这几句放在

<VirtualHost>

</VirtualHost>

之中........................

PS:最后说明,如果只想限制某个目录的文件可以这样做.

  <Location /mp3>
MaxConnPerIP 1  #限制1个连接
# In this case, all MIME types other than audio/mpeg and video*
# are exempt from the limit check
OnlyIPLimit audio/mpeg video  #只限制audio/mpeg video文件,如MP3呀WMA呀这种文件后缀名
    </Location>

--------------------------------全文完----------------

如果你设置有问题,可以论坛一起讨论!

 


责任编辑:admin

给文章打个分先...

平均分:-0.6(11 次)

-5 -4 -3 -2 -1 0 1 2 3 4 5

发表我的见解...

  • 您的大名: 留空为匿名
  • 您的主页:
  • 您的邮箱: