TypechoJoeTheme

EYblog - Powered by Eyblog

统计
登录
用户名
密码

郑先森灬

世上没有偶然,有的只是必然,正面面对困难,才能迈向成功。
网站页面

【技术解读】Apache限制IP并发数和流量控制

使用mod_limitipconn模块限制IP并发连接数

安装:

wget http://dominia.org/djao/limit/mod_limitipconn-0.24.tar.bz2
tar jxvf mod_limitipconn-0.24.tar.bz2
cd mod_limitipconn-0.24
/usr/local/apache2/bin/apxs -c -i mod_limitipconn.c

其中 /usr/local/apache2/bin/apxs 这里必须是指定阿帕奇目录下的bin/apxs,这里需要看自己的服务器阿帕奇安装路径

编辑httpd.conf

ExtendedStatus On
LoadModule limitipconn_module modules/mod_limitipconn.so  #将路径修改为安装后的路径,保存时去掉以下代码的注释
 
<ifModule mod_limitipconn.c>
<location />                                              #对应根目录
      MaxConnPerIP 5                                  #最大并发数为5
      NoIPLimit image/*                               #对图片不做限制
</location>

</ifModule>

注意上面的配置复制进去之后,注释全部都要去掉,对应根目录是指自己的项目路径

使用mod_bandwidth模块限制带宽

mod_bandwidth可以对IP的并发数进行控制,也可以对下载流量进行控制,也可以对某个目录的流量进行控制。

安装:

wget http://bwmod.sourceforge.net/files/mod_bw-0.7.tgz
tar zxvf mod_bw-0.7.tgz
cd mod_bw
/usr/local/apache2/bin/apxs -c -i mod_bw.c

其中 /usr/local/apache2/bin/apxs 这里必须是指定阿帕奇目录下的bin/apxs,这里需要看自己的服务器阿帕奇安装路径

编辑httpd.conf

LoadModule bw_module modules/mod_bw.so
 
<virtualHost *:80>
        ServerName vhost1.cszhi.com
        DocumentRoot    /var/www/vhost1
        BandwidthModule On
        ForceBandWidthModule On
        Bandwidth all 1024000
        MinBandwidth all 50000          #每个客户端最高速度可达50KB
        LargeFileLimit * 500 50000
        MaxConnection all 6
</virtualHost>

其它参数事例说明

BandWidth localhost 0                                      #对localhost不限速
BandWidth 192.168.1.5 102400                       #对192.168.1.5限速为100KB
BandWidth “u:^Mozilla(.*)” 10240              #用mozilla时限速10KB
BandWidth “u:wget” 102400                      #如果用wget下载时限速10KB
MinBandWidth all -1                                      #保证每个客户端最高速度可达10KB
LargeFileLimit .jpg 100 10240                      #jpg文件超过100KB,限速10KB
#下面的510挺好,如果不设置,apache自己会报错,就根报404差不多,页面非常的丑
ErrorDocument 510 /exceed_speed.html
BandWidthError 510
MaxConnection all 10                                       #所有ip最大连接数为10
MaxConnection 192.168.1.5 5                         #192.168.1.5最大连接数为5

示例结果:

上面功能主要用于限制,当项目存在多个php-fpm请求时需要做项目的限制处理

赞(25)
版权属于:

EYblog - Powered by Eyblog

本文链接:

https://www.jwwey.com/index.php/archives/70/(转载时请注明本文出处及文章链接)

评论 (0)
郑先森灬
世上没有偶然,有的只是必然,正面面对困难,才能迈向成功。
25 文章数
161 评论量

人生倒计时

今日已经过去小时
这周已经过去
本月已经过去
今年已经过去个月