如何使用apache限制主机或者虚拟主机IP连接数{个人版本}
昨晚使用网际快车十线程下载主页的一个备份包,发现我的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>
--------------------------------全文完----------------
如果你设置有问题,可以论坛一起讨论!




