之前一个项目需要在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>
鼎峰胡佳雄
QQ.2881064155
Skype.live:2881064155