Apache实现Web Server负载均衡详解(不考虑Session版)

  至少需三台服务器:

  服务器A:控制服务器

  服务器B和服务器C:实际执行服务器

  负载均衡原理:将访问服务器A的请求分发至服务器B和服务器C

  修改服务器A上apache的http.conf文件:

  首先,加载相应的代理模块,去掉以下模块前面的#号:

  LoadModule proxy_module modules/mod_proxy.so

  LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

  LoadModule proxy_balancer_module modules/mod_proxy_balancer.so

  LoadModule proxy_connect_module modules/mod_proxy_connect.so

  LoadModule proxy_ftp_module modules/mod_proxy_ftp.so

  LoadModule proxy_http_module modules/mod_proxy_http.so

  其次,在文件末尾添加:

  ProxyPass /example/ balancer://proxy/

  <Proxy balancer://proxy>

  BalancerMember http://serverB/example/

  BalancerMember http://serverC/example/

  </Proxy>

  表示将访问服务器A的http://serverA/example/子目录下的所有文件分发至服务器B和C执行,相当于访问http://serverB/example/或http://serverC/example/子目录下的文件。

  若写成:

  ProxyPass / balancer://proxy/

  <Proxy balancer://proxy>

  BalancerMember http://serverB/

  BalancerMember http://serverC/

  </Proxy>

  则代表所有访问A的请求都相应的转成访问B或C

  最后,重启服务器A的apache