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

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

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

1、反向代理

步骤:

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

LoadModule proxy_module modules/mod_proxy.so

LoadModule proxy_connect_module

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

NameVirtualHost 10.0.0.1

<VirtualHost 10.0.0.1> 

    ServerName www.baidu.com

    ErrorLog logs/iis.log 

    CustomLog logs/iis.access.log common 

    ProxyPass / http://www.baidu.com

    ProxyPa***everse / http://www.baidu.com

</VirtualHost>

(3)在浏览器中输入http://10.0.0.1/,会发现页面显示的内容已经是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://fzjh>    

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

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

    BalancerMember http://www.360.com loadfactor=1

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

</Proxy>

NameVirtualHost 172.16.0.1

<VirtualHost 172.16.0.1>    

    ServerName 172.16.0.1

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

    #ProxyPass / balancer://fzjh/ lbmethod=bytraffic

    ProxyPass / balancer://fzjh/

    ProxyPa***everse / balancer://fzjh/

    #ProxyPreserveHost on

</VirtualHost>


(3)在浏览器中输入http://172.16.0.1/,会发现会根据配置情况,来分配到baidu,360或者sina.