当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > Linux下Apache并发连接数和带宽控制

Unix/Linux
Linux 核心--5.Linux进程
Linux 核心--2.硬件基础
Linux 核心--4.内存管理
以Linux做路由器的问题
Linux 核心--1.前言
Linux 核心--3.软件基础
Automount mini-Howto 文件系统自动挂载程序
对光驱和软驱实现Automount
xf86config使用说明
如何在Linux中设置磁盘限额?
Linux下的各种备份方法汇总
网卡设置指南
Beowulf 中文HOWTO
Sound Blaster AWE 32/64 HOWTO 如何在Linux设定声卡
Linux Remote-Boot mini-HOWTO
Soundblaster 16 PnP Mini-Howto 如何在Linux设定16位P
新闻 Leafsite mini-HOWTO
使用LILO做为Win95+WinNT+Linux多重开机 mini-HOWTO
LINUX modules 模块安装 MINI-HOWTO
Linux + NT OS Loader mini-HOWTO

Unix/Linux 中的 Linux下Apache并发连接数和带宽控制


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 79 ::
收藏到网摘: n/a

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

一、使用mod_limitipconn限制Apache的并发连接数

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

    mod_limitipconn for Apache 1.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命令放在哪里。

    通过命令whereis apxs,我们可以确定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>