apache centos httpd 下载限速 下载不卡死apache ip限制连接 最终配置
一.准备工作
安装:mod_bw 【安装按照我的博客的安装方法,直接搜索httpd 限速】
安装:mod_limitipconn 【安装网上的安装方法,和安装mod_bw类似,也是用apxs命令安装】
修改httpd.conf
#######################
LoadModule bw_module /usr/lib64/httpd/modules/mod_bw.so
LoadModule limitipconn_module /usr/lib64/httpd/modules/mod_limitipconn.so
ExtendedStatus On #这句一定要加,搞一晚上,这句没加,ip都限制不了
########################
二.优化apache配置
运行命令 apachectl -l
看看用的perfork还是work
如果是perfork
修改httpd.conf
#######################################
<IfModule prefork.c>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
ServerLimit 2000 #修改符合你的主机的值
MaxClients 1500 #这里要比serverlimit小,但是这个值必须修改,因为如果用默认的值,下载一会就把连接沾满了,这里是一个进程同时处理的连接数
MaxRequestsPerChild 10000
</IfModule>
#######################################
三.虚拟主机的配置文件
#########################################
Listen 8008
<VirtualHost *:8008>
ServerName 123
DocumentRoot "/root/workspace/server/gameserver/passport"
WSGIScriptAlias / /root/workspace/server/gameserver/passport/passport/aly_wsgi.py
<Location />
Order deny,allow
Allow from all
</Location>
Alias "/static" "/root/workspace/server/gameserver/passport/passport/static_root"
<Location "/static">
SetHandler None
</Location>
Alias "/media" "/root/workspace/server/gameserver/passport/passport/media"
<Location "/media">
SetHandler None
</Location>
<IfModule mod_limitipconn.c>
<location "/media">
MaxConnPerIP 4 #每个ip限制4个连接
</location>
</IfModule>
ErrorLog /var/log/httpd/passport_error.log
LogLevel error
CustomLog /var/log/httpd/passport_access.log combined
#这一段可以灵活配置,根据自己需求
BandwidthModule On
ForceBandWidthModule On
Bandwidth all 300000 #所有限速 300K
MaxConnection all 100000 #所有限制100000个连接
LargeFileLimit .apk 500 100000 #对于apk限速100K
LargeFileLimit .zip 500 100000 #对于zip限速100K
#MinBandwidth all -1
</VirtualHost>
#########################################
注意: apache所有的注释都不要用中文,把里面的注释都去掉