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

相关内容