===========================================================
===========================================================
本文介绍通过mod_limitipconn模块来限制apache的并发连接数的详细方法。
--------------------------------------------------------------------------------
By 风过留枫, 出处:Linux技术中坚站 冷风
下载mod_limitipconn.c
(proxy client detection feature not enabled)
我用的是tar包下载的是mod_limitipconn-0.04.tar.gz,(该模块已经可以支持apache2)在服务器上执行#
wget
下载到本地
然后执行下面的命令编译安装.我的apache位于/usr/local/apache目录
解压缩:
[root@ns chenlf]# tar zxvf
mod_limitipconn-0.04.tar.gz
mod_limitipconn-0.04/
mod_limitipconn-0.04/Makefile
mod_limitipconn-0.04/README
mod_limitipconn-0.04/apachesrc.diff
mod_limitipconn-0.04/mod_limitipconn.c
mod_limitipconn-0.04/ChangeLog
编译安装:
[root@ns chenlf]# cd mod_limitipconn-0.04
[root@ns
mod_limitipconn-0.04]# ls
apachesrc.diff ChangeLog
Makefile
mod_limitipconn.c README
[root@ns mod_limitipconn-0.04]
# /usr/local/apache/bin/apxs -c -i -a mod_limitipconn.c
gcc
-DLINUX=22 -I/usr/include/db1 -fpic -DSHARED_MODULE -I
/usr/local/apache/include -c mod_limitipconn.c
gcc -shared -o
mod_limitipconn.so mod_limitipconn.o
[activating module `limitipconn'
in /usr/local
/apache/conf/httpd.conf]
cp mod_limitipconn.so
/usr/local/apache/libexec/mod_limitipconn.so
chmod 755
/usr/local/apache/libexec/mod_limitipconn.so
cp
/usr/local/apache/conf/httpd.conf
/usr/local/apache/conf/httpd.conf.bak
cp
/usr/local/apache/conf/httpd.conf.new
/usr/local/apache/conf/httpd.conf
rm /usr/local/apache/conf/httpd.conf.new
修改配置文件:
1全局控制:
在httpd.conf加上以下几行:
;
# 所有虚拟主机的/目录
MaxConnPerIP 3 # 每IP只允许3个并发连接
NoIPLimit image/* #
对图片不做IP限制
#
所有主机的/mp3目录
MaxConnPerIP 1 # 每IP只允许一个连接请求
OnlyIPLimit audio/mpeg video # 该限制只对视频和音频格式的文件
2
局部限制,你也可以在虚拟主机的配置文件里设置IP限制,方法是完全一样:
ServerAdmin
DocumentRoot /home/my
ServerName
;
# 所有虚拟主机的/目录
MaxConnPerIP 5 #
每IP只允许3个并发连接
NoIPLimit image/* # 对图片不做IP限制
# 所有主机的/mp3目录
MaxConnPerIP 2 # 每IP只允许一个连接请求
OnlyIPLimit
audio/mpeg video # 该限制只对视频和音频格式的文件
ErrorLog /home/my/logs/error_log
CustomLog
/home/my/logs/access_log common
3
此外必须将apache的ExtendedStatus设置为ON.在httpd.conf找到
# ExtendedStatus On
去掉前面的注释即可
好了,全部配置结束,重起apache就可以生效了
阅读(282) | 评论(0) | 转发(0) |