/ 中存储网

Apache服务器中配置代理端口和限制并发

2014-04-11 09:25:01 来源:IT技术网
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)