当 Apache 其中一个 Virtual Host 占用资源过多时,会拖慢整台服务器所有网站的速度,这时可以安装 mod_cband 模组,限制个别虚拟主机可以占用的连线数量及频宽,以下会示范在 CentOS 7 安装 mod_cband 模组:
要安装 mod_cband,需要先安装 httpd-devel:
# yum install httpd-devel
然后可以下载 mod_cband 及编译安装:
# cd /usr/local/src
# wget https://github.com/maiha/mod_cband/archive/master.zip
# unzip master.zip
# wget https://github.com/maiha/mod_cband/archive/master.zip
# unzip master.zip
现在编译安装:
# cd mod_cband-master
# ./configure
# make && make install
# ./configure
# make && make install
这时 mod_cband 已经安装好,只要修改 VirtualHost 的设定,及重新启动 Apache 便可以,例如:
|
1 2 3 4 5 6 7 |
<virtualhost *:80=""> ServerName www.mydomain.com DocumentRoot /var/www/www.mydomain.com ServerAlias mydomain.com CBandSpeed 1024 150 150 CBandRemoteSpeed 512 3030 </virtualhost> |
以上的 CBandSpeed 及 CBandRemoteSpeed 两个是 mod_cband 的设定,意思分别是:
CBandSpeed 1024 150 150:
限制 VirtualHost 最高可用频宽 1024kbps, 每秒可接受 150 个请求,及 150 个连线数。
CBandRemoteSpeed 512 3030:
限制 VirtualHost 下远端某一 IP 最高可用频宽 512kbps, 每个 IP 每秒可接受 30 个请求,及 0 个连线数。
设定后重新启动 Apache 便完成了:
# systemctl restart httpd