/ 中存储网

配置Apache实现反向代理和负载均衡

2013-09-18 17:04:26 来源:ITJS.CN

之前一个项目需要在Apache上配置负载均衡,由于事情繁多,时间紧迫,没有时间去弄。

今天抽时间测试了一把,至少是可以进行代理了。

其中仍旧存在的问题是:点击页面上的链接后,无法跳转至正确的页面。

现将如何配置反向代理和负载均衡分别描述。

1、反向代理

步骤:

(1)在Apache的配置文件httpd.conf中打开反向代理的模块

#-----------------------------------------------

LoadModule proxy_module modules/mod_proxy.so

LoadModule proxy_connect_module

#-----------------------------------------------

(2)在httpd.conf最后面添加以下内容

#-----------------------------------------------

NameVirtualHost 127.0.0.1

<VirtualHost 127.0.0.1>

ServerName www.baidu.com

ErrorLog logs/iis.log

CustomLog logs/iis.access.log common

ProxyPass /test http://www.baidu.com

ProxyPassReverse /test http://www.baidu.com

</VirtualHost>

#-----------------------------------------------

(3)在浏览器中输入http://127.0.0.1/test,会发现页面显示的内容已经是http://www.baidu.com的内容了。

2、负载均衡

步骤:

(1)在Apache的配置文件httpd.conf中打开反向代理的模块

#-----------------------------------------------

LoadModule proxy_module modules/mod_proxy.so

LoadModule proxy_connect_module

LoadModule proxy_balancer_module modules/mod_proxy_balancer.so

#-----------------------------------------------

(2)在httpd.conf最后面添加以下内容

#-----------------------------------------------

ProxyRequests Off

<Proxy balancer://myCluster>

#loadfactor值越大,被分配到的机会也越大

BalancerMember http://www.baidu.com loadfactor=2

BalancerMember http://www.google.com.hk loadfactor=1

BalancerMember http://www.youdao.com loadfactor=2

</Proxy>

NameVirtualHost 127.0.0.1

<VirtualHost 127.0.0.1>

ServerName localhost

#这个是根据流量来进行分发,

#ProxyPass /test balancer://myCluster/ lbmethod=bytraffic

ProxyPass /test balancer://myCluster/

ProxyPassReverse /test balancer://myCluster/

#ProxyPreserveHost on

</VirtualHost>

#-----------------------------------------------

(3)在浏览器中输入http://localhost:8000/test,会发现会根据配置情况,来分配到baidu,youdao或者google.