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

Unix/Linux
Linux系统下配置CVS服务器
Linux内核 Kernel 最新稳定版2.6.26发布
LINUX系统2.4内核升级到2.6内核
Linux系统下添加硬盘+分区+格式化详解
Linux下的安装和配置DNS服务器
自动备份Linux/Unix服务器的数据
Windows系统下通过xmanager远程桌面控制Linux
LINUX系统下JRE的安装
LINUX桌面环境 KDE 4.1 RC1发布下载
Linux系统下卸载自带Mysql、Apache、Php
Linux系统下监控和调整机器温度
Linux系统下生成引导盘与驱动程序盘的方法
Linux Mint 5 XFCE Community Edition RC1 (BETA 025) 本月17日开始发布
Linux下关闭不必要的系统服务以加快速度
Red Hat Enterprise Linux AS release 4 apache+MYsql+PHP的安装和优化
详解Linux系统日志管理
简单查看linux64位/32位的命令!
用rsync实现网站镜像和备份
以root身份telnet连接LINUX服务器
linux系统strace命令用法

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 170 ::
收藏到网摘: 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>