共计 2275 个字符,预计需要花费 6 分钟才能阅读完成。
今天丸趣 TV 小编给大家分享一下 Linux apache 怎么限制并发连接和下载速度的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
mod_limitipconn,这个是 apache 的一个非官方模块,根据同一个来源 ip 进行并发连接控制,bw_mod,它可以根据来源 ip 进行带宽限制,它们都是 apache 的第三方模块。
1. 下载:
wget
wget
2. 安装
#tar -zxvf mod_limitipconn-0.22.tar.gz
#cd mod_limitipconn-0.22
#vi makefile
修改:apxs =“/usr/local/apache2/bin/apxs”# 这里是自己 apache 的 apxs 路径,加载模块
或者
#/usr/local/apache2/bin/apxs -i -c -a mod_limitipconn.c 来加载模块
#make
#make install
#tar -xvf mod_bw-0.7.tgz
#cd mod_bw
#/usr/local/apache2/bin/apxs -i -c -a /home/kenami/mod_bw/mod_bw.c
下面用 vi 打开 apache 的配置文件 httpd.conf
发现了以下两行:
loadmodule limitipconn_module modules/mod_limitipconn.so
loadmodule bw_module modules/mod_bw.so
3. 配置
ifmodule mod_limitipconn.c
location /home/bo@jb51.net/attachments/month _* #需要控制的路径
maxconnperip 3 #限制的线程数
noiplimit index.htm #对此文件不做限制
/location
/ifmodule
在虚拟主机配置文件下面加上:
bandwidthmodule on
forcebandwidthmodule on
bandwidth all 10000 #限速 10k
minbandwidth all -1
配置参数说明如下:
a. bandwidthmodule on|off
// 是否开启 mod_bw 的带宽限制功能。
b. bandwidth [from] [bytes/s]
设置指定客户机最大带宽,0 表示不限制
bandwidth u:[user-agent] [bytes/s]
c. minbandwidth [from] [bytes/s]
设置指定客户机带宽的最小值,为 0 表示每个客户端带宽最大为 256bytes/s, 为 - 1 表示最大为 bandwith 的值
d. largefilelimit [type] [minimum size] [bytes/s]
设置访问超出特定大小的某种文件的最大带宽, 文件类型大小单位为 kbytes
e. maxconnection [from] [max]
设置指定客户机的最大并发连接数
f. forcebandwidthmodule [on|off]
默认 bw 模块将应用所有请求,on 可设置过滤类型
关于 from,即客户端来源可分以下几种情况:
ip 指定单一主机
192.168.1.22
指定网段
192.168.1.0/24 或
192.168.1.0/255.255.255.0
域名单一主机
client1.jb51.net
域名指定范围
.jb51.net
所有客户端
all
以上配置既可以针对所有客户端,也可以对某个虚拟主机进行配置
实例一:
bandwidthmodule on
bandwidth all 307200
bandwidth 192.168.1.2 102400
bandwidth“u:^mozilla/5(.*)”102400
bandwidth“u:wget”204800
forcebandwidthmodule on
largefilelimit .avi 600 204800
maxconnection all 100
maxconnnection 192.168.1.2 5
以上的配置含义:
开启 mod_bw, 限制所有文件类型也开启了
所有客户端最大带宽为 300k, 最大并发连接为 100
192.168.1.2 的最大带宽为 100k, 最大并发连接为 5
使用 firefox 的客户端最大带宽为 100k
使用 wget 的客户端最大带宽为 200k
对超过 600k 的 avi 格式的文件最大带宽为 200kbyte/s
实例二:
virtualhost *
bandwidthmodule on
forcebandwidthmodule on
largefilelimit .avi 1 20000
largefilelimit .mpg 1 20000
servername
/virtualhost
该实例对虚拟主机进行了限制,指定的文件类型 avi 和 mpg 最大带宽为 20k,forcebandwidthmodule on 必须有。
实例三:
virtualhost *
bandwidthmodule on
addoutputfilterbytype mod_bw text/html text/plain
bandwidth all 5000
servername
/virtualhost
以上就是“Linux apache 怎么限制并发连接和下载速度”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,丸趣 TV 小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注丸趣 TV 行业资讯频道。