zoukankan      html  css  js  c++  java
  • 通过mod_limitipconn模块来限制apache的并发连接数

    ===========================================================
    ===========================================================
    本文介绍通过mod_limitipconn模块来限制apache的并发连接数的详细方法。

    --------------------------------------------------------------------------------
    By 风过留枫, 出处:Linux技术中坚站 冷风


      下载mod_limitipconn.c


      http://dominia.org/djao/limit/mod_limitipconn-0.04.tar.gz
      http://dominia.org/djao/limit/mod_limitipconn-0.04-1.i386.rpm
        (proxy client detection feature not enabled)  
      http://dominia.org/djao/limit/mod_limitipconn-0.04-1.src.rpm


        
      我用的是tar包下载的是mod_limitipconn-0.04.tar.gz,(该模块已经可以支持apache2)在服务器上执行# wget http://dominia.org/djao/limit/mod_limitipconn-0.04.tar.gz 下载到本地

      然后执行下面的命令编译安装.我的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加上以下几行:


      <IfModule mod_limitipconn.c>;
          <Location/>   # 所有虚拟主机的/目录  
              MaxConnPerIP 3     # 每IP只允许3个并发连接
              NoIPLimit image/*  # 对图片不做IP限制
        </Location>

      <Location /mp3>  # 所有主机的/mp3目录
        MaxConnPerIP 1         # 每IP只允许一个连接请求     
        OnlyIPLimit audio/mpeg video    # 该限制只对视频和音频格式的文件
        </Location>
    </IfModule>



      2 局部限制,你也可以在虚拟主机的配置文件里设置IP限制,方法是完全一样:


      <VirtualHost xx.xxx.xx.xx>
        ServerAdmin chenlf@chinalinuxpub.com
        DocumentRoot /home/my
        ServerName www.my.com
      <IfModule mod_limitipconn.c>;
          <Location/>    # 所有虚拟主机的/目录  
          MaxConnPerIP 5         # 每IP只允许3个并发连接
              NoIPLimit image/*      # 对图片不做IP限制
          </Location>
          <Location /mp3>    # 所有主机的/mp3目录
          MaxConnPerIP 2         # 每IP只允许一个连接请求     
          OnlyIPLimit audio/mpeg video # 该限制只对视频和音频格式的文件
          </Location>
      </IfModule>
      ErrorLog /home/my/logs/error_log
      CustomLog /home/my/logs/access_log common
    </VirtualHost>



      3 此外必须将apache的ExtendedStatus设置为ON.在httpd.conf找到


      # ExtendedStatus On



      去掉前面的注释即可

      好了,全部配置结束,重起apache就可以生效了
  • 相关阅读:
    Gentle.Net学习笔记一:配置文件设置
    啥时候咱能用上NExcelApi?
    ibus no input window
    QT && GDAL
    安装 purcell 的emacs.d 配置文件
    进程
    C++的cout高阶格式化操作
    C++ 虚函数表解析
    [转]C程序内存区域分配(5个段作用)
    如何写Makefile文件
  • 原文地址:https://www.cnblogs.com/feihongwuhen/p/7171064.html
Copyright © 2011-2022 走看看