热门关键字:  ubuntu  分区  Fedora  linux系统进程  函数

当前位置 :| 主页>Linux教程>软件应用>

Linux下Apache并发连接数和带宽控制

来源: 作者: 时间:2007-03-24 Tag: 点击:

Linux+Apache的稳定性、安全性和性能以及低廉的价格正在赢得越来越多的市场份额,使用Linux+Apache作网站服务器的朋友也越来越多,而Apache作为一种http服务,相比 FTP总是不容易控制,特别是当网站以http方式提供软件/音乐下载时,若是每个用户都开启多个线程并没有带宽的限制,将很快达到http的最大连接数或者造成网络阻塞,使得网站的许多正常服务都无法运行。不过,Apache的使用者们早已开发出了mod_limitipconn和 mod_bandwidth两个模块,来控制http的并发连接数和用户所能够使用的带宽,下面将以RedHat Linux7.3+Apache1.3.7来说明它们的使用方法。

一、使用mod_limitipconn限制Apache的并发连接数
    mod_limitipconn可以控制每个IP地址同时连接服务器某一个目录的并发连接数,是一个非常有用的模块,其官方网页是http://dominia.org/djao/limitipconn.html,最新版本为forApache1.3.7的0.04,并且还有支持Apache2.x的模块下载,由于本人使用Apache1.3.7版本,所以请使用2.x版本Apache的朋友到其官方网站察看具体的使用方法。

    mod_limitipconn for Apache1.3x提供三种安装方式,分别是tar包、rpm安装文件和rpm源文件,由于rpm包只能用在 RedHat 7.x 版本,并且不支持检测代理服务器,所以我们一般都使用tar包的安装方式。

     以管理员方式登陆服务器,然后在服务器上运行wget.http://dominia.org/djao/limit/mod_limitipconn- 0.04.tar.gz将mod_limitipconn的tar包下载到服务器,然后按照再运行tar zxvf mod_limitipconn-0.04.tar.gz将tar包解压缩,会在当前目录下生成mod_limitipconn-0.04目录,然后cd mod_limitipconn-0.04进入此目录,下一步就是使用apxs将目录中的mod_limitipconn.c编译。这时,我们需要确定自己的Apache安装在那个目录,并且找到apxs命令放在哪里.

    通过命令whereisapxs,我们可以确定apxs命令的路径,如我的apxs命令所在为/usr/sbin/apxs,则输入/usr/sbin/apxs -c -i -a mod_limitipconn.c对mod_limitipconn.c进行编译,此命令会自动在你Apache的配置文件httpd.conf中加入需要的信息,并且将生成的mod_limitipconn.so模块拷贝到Apache的模块目录。不过为了确认此命令是否正常运作,请首先检查自己的 Apache模块目录(我的是/usr/lib/apache),看内部是否含有mod_limitipconn.so文件,没有的话请将 mod_limitipconn-0.04目录中生成的文件拷贝到此处。

    刚才命令自动生成的httpd.conf可能有些错误,在我的系统中,它将LoadModule limitipconn_module modules/mod_limitipconn.so放在了

  <IFDEFINE HAVE_PYTHON>
  LoadModule python_module modules/mod_python.so
  </IFDEFINE>

 

之间,而将AddModule mod_limitipconn.c放在了

  <IFDEFINE HAVE_PYTHON>
  AddModule mod_python.c
  </IFDEFINE>

 

之间,直接造成了mod_limitipconn模块不能正常运行,所以请将这两行分别移动到没有IFDEFINE和/IFDEFIN的相应行中,然后请确认mod_status模块已经加载,并且在mod_status下添加了ExtendedStatus On这一行。这时我们的mod_limitipconn模块就安装完毕,下一步就是对某个目录进行并发连接数的设置了。

 

    mod_limitipconn可以对全局和虚拟主机进行不同的限制,其语法结构都是

  <IFMODULE mod_limitipconn.c>
    <LOCATION /> #所限制的目录所在,此处表示主机的根目录
      MaxConnPerIP 3 #所限制的每个IP并发连接数为3个
      NoIPLimit image/* #对图片不做IP限制
    </LOCATION>
    <LOCATION mp3> #所限制的目录所在,此处表示主机的/mp3目录
      MaxConnPerIP 1 #所限制的每个IP并发连接数为1个
      OnlyIPLimit audio/mpeg video #该限制只对视频和音频格式的文件
    </LOCATION>
  </IFMODULE>

 

    当对全局进行限制时,将这段代码放在httpd.conf文件没有VirtualHost的地方,若是对某个虚拟主机进行限制,请将其放在VIRTUALHOST xxx.xxx.xxx.xxx和/VIRTUALHOST之间,我们可以通过更改Location以及MaxConnPerIP方便的控制所限制的目录和并发连接数。

    最后,只要重新启动Apache服务,并发连接数的限制就可以生效。



相关文章:
QT之1(PC机上搭建环境及应用)
安装wine
解决安装CentOS5之后,vi不显示颜色的问题
linux控制台下的一个好东西-splitvt
Vmware-server目标主机积极拒绝,无法连接
vmware server 1.0.6 for linux相关命令
逐步设置vim C/C++语法高亮显示和自动缩进
在VM虚拟机器Linux下安裝VMware Tool的方法
玩了一下compiz-fusion
BMP-Beep Media Player
VIM 文件编码识别与乱码处理(一)
VIM 文件编码识别与乱码处理(二
VI技巧
让firefox 支持 amule (ed2k 协议)
为CentOS 5.1中的Firefox 1.5安装Flash插件……
vi 在编辑某文件时,在该文件内查找东西用何命令?
Freebsd + wine1.1.9 + 国元网上证券交易(通达信
emacs 代码补全功能
安装drupal-6.2和简体中文语言包
谈 Linux GNU 实用工具兼容性
Linux 文件压缩工具指南 一些免费和实用工具的评
Emacs 基础知识
介绍 Emacs 的编辑环境
在 Emacs 中编辑文本
生活在Emacs中
生活在emacs中2
生活在Emacs中3
Linux命令行性能检测工具
Linux下Expect配置
生活在Emacs中4