[apache] mod cband 頻寬限制

这个MODULE相当好用,可以来解决APACHE带宽问题。

安裝方式:

For Linux 先去下载 mod_cband 

解压缩: tar -zxvf mod-cband-0.9.7.5.tgz

如果你有安裝 apsx2 的话请按下面安装

$ cd mod-cband-0.9.7.5
$ ./configure
$ make
$ make install

如果没有安装 apsx2 的话请按下面安装

重新编译

configure –add-module=../mod-cband/mod_cband.c –enable-shared=cband –enable-module=so

配置方法:

修改httpd.conf加上2行CBandScoreFlushPeriod 1

CBandRandomPulse On
mkdir /var/www/scoreboard
chown apache:apache /var/www/scoreboard

设置 VirtualHost

<VirtualHost 1.2.3.4>
    ServerName www.example.com
    ServerAdmin webmaster@example.com
    DocumentRoot /var/www
    CBandSpeed 1024 10 30
    CBandRemoteSpeed 20kb/s 3 3
</VirtualHost>

说明:# 100MB virtualhost bandwidth limit

CBandLimit 100M
# Maximal 1024kbps speed for this virtualhost
# Maximal 10 requests per second for this virtualhost
# Maximal 30 open connections for this virtualhost 限制该域名总带宽的链接数
CBandSpeed 1024 10 30# Maximal 10kB/s speed, 3 requests/s and 2 open connections for any remote client
CBandRemoteSpeed 10kb/s 3 2
4个星期清除一次# a period of time after which the scoreboard will be cleared (4 weeks)
CBandPeriod 4W

# define ‘class_1′

<CBandClass class_1>
    CBandClassDst 217.172.231.67
    CBandClassDst 127/8
    CBandClassDst 192.168.0.0/24
    CBandClassDst 10.0.0.20
</CBandClass>
# define 'class_2'
<CBandClass class_2>
    CBandClassDst 192.168.100.100
    CBandClassDst 153.19/16
</CBandClass>

<CBandUser dembol>
    CBandUserLimit 1000000
    CBandUserExceededURL http://edns.pl/bandwidth_exceeded.html
    CBandUserScoreboard /home/dembol/write/user.dembol.scoreboard# 500MB limit for 'class_2'
    CBandUserClassLimit class_2 500000
</CBandUser>

代码整合起来

<CBandClass local_class>
    CBandClassDst 127/8
    CBandClassDst 192.168.0.0/24
</CBandClass>

<VirtualHost *:80>
    ServerAdmin appleboy.tw@gmail.com
    DocumentRoot /var/www/html
    ServerName nas.th.gov.tw
    ErrorLog logs/nas.th.gov.tw-error_log
    CustomLog logs/nas.th.gov.tw-access_log common
    CBandSpeed 1024 200 200
    CBandRemoteSpeed 1024kb/s 50 50
    CBandClassRemoteSpeed local_class 1000Gbps 1000 1000
    CBandLimit 10G
    CBandPeriod 1W
    CBandScoreboard /var/run/apache2/default.scoreboard
</VirtualHost>

如果要看SERVER-Status的話 也可以設定在httpd.conf就好

# mod_cband
#
<Location /cband-status>
	SetHandler cband-status
</Location>

本文是我早期用MSN的空间转载的一篇文章,感觉还有一定的实用价值就留了下来,原文是繁体中文,里面的一些用词我咋一看也不大明白,后来慢慢理解才明白的,现在把它转为简体中文,让大家看一下。

原文出处:http://blog.wu-boy.com/2007/01/22/64/



发表评论?

0 条评论。

发表评论


注意 - 你可以用以下 HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

无觅相关文章插件,快速提升流量