Apache负载均衡配置

目的是将 http://127.0.0.1/demo 负载均衡转发到 http://127.0.0.1/demo1和http://127.0.0.1/demo2 php

第一步,开启项目模块: html

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
LoadModule slotmem_shm_module modules/mod_slotmem_shm.so

第二步,负载均衡代理配置,写在httpd.conf文件下面 java

可配置一个或者多个负载代理,democluster 为该代理的命名,后面须要经过引用该名字调用负载均衡转发 
ProxyRequests Off  
<Proxy balancer://democluster>  
BalancerMember http://127.0.0.1:8080/demo1
BalancerMember http://127.0.0.1:8080/demo2  
</Proxy>

开启负载均衡管理界面 http://127.0.0.1/balancer-manager,生产环境慎重开启: web

<Location /balancer-manager>  
SetHandler balancer-manager  
Require all granted
</Location>

(Apache2.4:Require all granted,Apache2.2:Allow from all 服务器

第三步,应用负载均衡,在虚拟服务器中使用,也能够直接根配置(httpd.conf)中使用: session

<VirtualHost 127.0.0.1:80>
    ServerAdmin webmaster@dummy-host.example.com
    ServerName 127.0.0.1
    ProxyRequests Off
    ProxyPreserveHost On
    <Proxy *>
        Require all granted
    </Proxy>
    ProxyPass /demo balancer://democluster
    ProxyPassReverse /demo balancer://democluster
    ErrorLog "logs/test.localhost-error_log"
    CustomLog "logs/test.localhost-access_log" common
</VirtualHost>

其余,也能够将第二步中的负载均衡代理配置,直接配置到虚拟主机中,以下:
负载均衡

<VirtualHost 127.0.0.1:80>
    ServerAdmin webmaster@dummy-host.example.com
    ServerName 127.0.0.1
    ProxyRequests Off
    ProxyPreserveHost On
   <Proxy balancer://democluster>  
      BalancerMember http://127.0.0.1:8080/demo1
      BalancerMember http://127.0.0.1:8080/demo2  
    </Proxy>
    ProxyPass /demo balancer://democluster
    ProxyPassReverse /demo balancer://democluster
    ErrorLog "logs/test.localhost-error_log"
    CustomLog "logs/test.localhost-access_log" common
</VirtualHost>



最后 :重启便可


-------------------------------------------------------------------------------------
相关配置和策略说明 ui

负载权重设置,按照比例设置分发权重,在分发连接后面加上loadfactor: spa

<Proxy balancer://democluster>  
BalancerMember http://127.0.0.1:8080/demo1 loadfactor=3
BalancerMember http://127.0.0.1:8080/demo2 loadfactor=7
</Proxy>

分发策略设置,经过设置lbmethod设置分发策略:
lbmethod:表示负载载均衡策略。 
lbmethod=byrequests 按照请求次数均衡(默认) 
lbmethod=bytraffic 按照流量均衡 
lbmethod=bybusyness 按照繁忙程度均衡(老是分配给活跃请求数最少的服务器)
.net

<Proxy balancer://democluster>  
BalancerMember http://127.0.0.1:8080/demo1 loadfactor=3
BalancerMember http://127.0.0.1:8080/demo2 loadfactor=7
ProxySet lbmethod=byrequests
</Proxy>



ProxyPass /demo balancer://democluster lbmethod=bytraffic



热备份配置,热备份就是全部请求都发到一台服务器上,当这台服务器宕机以后,请求会被发到另外一台热备份服务器上,使用status=+H
<Proxy balancer://democluster>  
BalancerMember http://127.0.0.1:8080/demo1 
BalancerMember http://127.0.0.1:8080/demo2 status=+H
</Proxy>



会话保持,就是将同一个用户(同一个session)的请求老是转发到同一台服务器上去,这样就能够不用作session同步,主要配置方法可参考 Apache + Tomcat 的实现方式,自行百度便可。或者参考文章:http://www.blogjava.net/gentoo1439/archive/2007/07/11/129527.html
相关文章
相关标签/搜索