東川印記

一本東川,笑看爭龍斗虎;寰茫兦者,度橫佰昧人生。

apache配置:代理端口+限制并发

2011年1月2日星期日



 

1、Apache代理端口

将apache设为使用80端口,IIS使用其它端口,比如81,然后将apache作为IIS的代理。
在httpd.conf里面,取消下面四行的注释:

1.       LoadModule proxy_module modules/mod_proxy.so   

2.       LoadModule proxy_connect_module modules/mod_proxy_connect.so   

3.       LoadModule proxy_http_module modules/mod_proxy_http.so   

4.       LoadModule proxy_ftp_module modules/mod_proxy_ftp.so  


LoadModule proxy_module modules/mod_proxy.so

LoadModule proxy_connect_module modules/mod_proxy_connect.so

LoadModule proxy_http_module modules/mod_proxy_http.so

LoadModule proxy_ftp_module modules/mod_proxy_ftp.so


然后建立一个虚拟主机,将该域名的所有访问转向81端口,另一个转到82端口(如果还有其它的话),比如Tomcat。

1.       <VirtualHost *:80>  

2.       ServerName iloves.vicp.net   

3.       ProxyPass / http://localhost:81/   

4.       ProxyPassReverse / http://localhost:81/   

5.       </VirtualHost>  

6.       <VirtualHost *:80>  

7.       ServerName test.vicp.net   

8.       ProxyPass / http://localhost:82/   

9.       ProxyPassReverse / http://localhost:82/   

10.   </VirtualHost>  


<VirtualHost *:80>

ServerName iloves.vicp.net

ProxyPass / http://localhost:81/

ProxyPassReverse / http://localhost:81/

</VirtualHost>

<VirtualHost *:80>

ServerName test.vicp.net

ProxyPass / http://localhost:82/

ProxyPassReverse / http://localhost:82/

</VirtualHost>


这样,对外就可以只需要一个端口,即可同时使用apache和IIS的功能了

 

 

 

 

 

 

 

 

 

 

 

2、Apache限制并发及下载速度

目前各种多线程下载工具泛滥,这对提供部分下载功能的网站来说是个比较头疼的问题,由于多线程下载会给服务器带来巨大的负载压力,而且可能会对整个站点产生影响,使其不能正常访问。那么有没有什么方法可以解决这些问题呢?答案是肯定的。目前国内大部分站点都是基于LAMP(Linux+Apache+Mysql+php)架构的,Apache是一个开源的,功能强大,稳定,使用量最大的WEB服务器。Apache是模块化开发的,可以根据需要增加各种功能模块,这里我给大家bw_mod。
Bw_mod,它可以根据来源IP进行带宽限制。
下面说一下它的安装配置,它的下载地址是:
bw_mod:http://apache.ivn.cl/
下载:wget http://apache.ivn.cl/files/source/mod_bw-0.7.tgz
解压:tar zxvf bw-0.7.tgz
安装:通过whereis apxs命令找到apxs命令的位置,如apxs的位置是:/usr/local/apache/bin/apxs,那么我们就可以通过:
/opt/apache/bin/apxs –c –i –a命令进行安装。
#/opt/apache/bin/apxs -i -a -c bw_mod-0.6.c
修改Apache的配置文件httpd.conf。
1.确认LoadModule bw_module modules/mod_bw.so选项已经存在。
2.配置示例:
BandWidthModule On #启用bw_mod
BandWidth all 102400 #最高为为100kB
MinBandWidth all 51200 #最低为50KB
MaxConnection all 3 #所有客户端最多3个连接
LargeFileLimit .rar 30 23000 #限制所有大于30K的后缀名为.rar的文件的
速率为23000字节/秒,即23K/秒
3.重启Apache
以上只说了一下这个模块的安装和简单的配置,更具体的配置请看这个模块的说明文件。
windows 应用
先去该网站下载所需的modules档案 (有*nix和Windows版本)
Ivan Barrera A. (Bruce)网站 (http://www.ivn.cl/apache/#bandwidth)
官方文档 (http://www.ivn.cl/apache/bw_mod-0.6.txt)
接着打开 httpd.conf 此档
在任何一处空白列中,加入以下那行
LoadModule bw_module modules/bw_mod-2.0.54.dll
(如果你有改档名,上面的 bw_mod-2.0.54.dll 也须更改成相同档名)
再加入以下这行,启动modules (不加此行,预设值是不启动 disabled)
BandWidthModule On
例一:
BandWidth localhost 10240
BandWidth 192.168.218.5 0
第一行是说,限制 localhost 位置,无论下载多少个档案,下载速度总合最高只有10KB
第二行是说, 192.168.1.2 这个IP位址,无论下载多少个档案,下载速度总合最高无限制
(1KB=1024 , 0 即是无限制)
例二:
BandWidth all 10240
MinBandWidth all 5120
这个例子是说
限制所有IP位置,只有一个下载时,最高只有10KB的速度
如果有多个下载时,最小下载单档的速度是5KB
则:
下载1个档案 速度为10K 总合下载速度为10K
下载5个档案 速度各为5K 总合下载速度为25K
例三:
LargeFileLimit .avi 500 10240
副档名为avi的档案 且 档案大小 大於或等於500KB
下载的速度限制最高为10KB
(这里是多人平分那10KB的速度喔! 1人下载有10KB,10人下载只有1KB)

 

 

id: 836922215
title: apache配置:代理端口+限制并发
publishTime: 1293975068472
classId: 88735822
moveForm: NONE

没有评论 :

发表评论