使用mod_limitipconn.c限制apache的并发数
mod_limitipconn并非是apache官方开发的模块,其主页在http://dominia.org/djao/limitipconn.html。
目前为止,mod_limitipconn所做出的限制都是针对所有来访ip的,不能针对某些ip做单独限制。
如果你用的是apache 1.X ,可以用最新的0.04版本。如果用的是apache 2.0.X可以用最新的0.22版本。

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

解压
tar xzvf mod_limitipconn-0.22.tar.gz

安装
cd mod_limitipconn-0.22
make install
这里需要注意的是apxs的位置,如果你的系统里没有apxs命令,或者apxs命令不是你使用的apache带的,可以通过修改 MakeFile 中的第七第八这两行,把相应的两个命令定位到其绝对路径

配置
安装过程中会自动在 httpd.conf中加入
LoadModule limitipconn_module modules/mod_limitipconn.so
这一行
然后是具体的配置
在虚拟主机的配置段(如果要对所有的虚拟主机都限制,那么把所有的相关配置都写在虚拟主机之外),servername那行的上面,加上
<IfModule mod_limitipconn.c>
<Location /test>
MaxConnPerIP 1
</Location>
</IfModule>
上面的配置限制了该虚拟主机的test目录下的所有文件,每IP的最大连接数为1

另外 mod_limitipconn 还提供了两个命令
NoIPLimit和 OnlyIPLimit 这两个命令同样要加在上面的 <location></location>段中。
NoIPLimit image/* 表示 image文件夹下的所有文件都不限制
NoIPLimit image* 表示所有的image文件都不做限制,包括jpg、gif等
OnlyIPLimit audio/mpeg video 表示只对视频和音频格式的文件限制

此外必须将apache的ExtendedStatus设置为ON
在httpd.conf找到
# ExtendedStatus On
去掉前面的注释即可

此外还必须加载 mod_status,一般安装apache的时候都默认加载了,可以用 apachectl -l 检查一下有没有 mod_status.c,如果没有,需另外安装

重起apache即可生效
Tags:
Apache | 评论(0) | 引用(0) | 阅读(397)
发表评论
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
昵称   密码   游客无需密码
网址   电邮   [注册]
               

验证码 请输入左侧的字母,不区分大小写