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所有的注释都不要用中文,把里面的注释都去掉


分享到: 微信 更多