Apache均衡负载问题,望解答,谢谢

Apache均衡负载问题,望解答,谢谢

问题描述:

我看完这篇文章后有些疑问,希望能得到解答

https://blog.****.net/weixin_34396902/article/details/93700327

比如我有三台服务器A,B,C

那么三台服务器都要加文中的配置吗?

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

ProxyRequests Off

BalancerMember http://node-a.myserver.com:8080

BalancerMember http://node-b.myserver.com:8080

ProxyPass / balancer://mycluster

还有,比如,我的服务器A有文中的设置,B有页面a.html, b.html,C有页面
c.html, b.html,那么用户访问a.html时会转到服务器B而不是服务器C吗?服务器A需要有以上所有页面吗

xie'xie

公司两台服务器都安装了tomcat,配置apache作为负载均衡,当一台服务器出现故障时还能保证业务正常运行。
Server1:192.168.1.100
Server2:192.168.1.200
1、查询是否已经安装了apache
rpm -qa | grep httpd

2、使用yum安装apache,负载配置是一样的。
yum -y install httpd*

3、启动apache,设置为开机自启动。
systemctl start httpd
systemctl enable httpd

4、配置负载均衡
loadfactor参数:可以看到请求是按5:5分配的,loadfactor 参数取值范围为1-100。
route参数:访问时可以分清楚是请求的哪一台服务器
vim /etc/httpd/conf/httpd.conf

ServerName www.ht.com
ProxyRequests Off
#设置使用进入的HTTP请求头来发送代理请求
ProxyPreserveHost On

ProxyPass / balancer://htcluster/
ProxyPassReverse / balancer://htcluster/
ErrorLog "/var/log/httpd/htlog/error.log"
CustomLog "/var/log/httpd/htlog/access.log" common


Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_ROUTE_CHANGED
BalancerMember http://192.168.1.100:9000/ route=assets1 loadfactor=5 connectiontimeout=5 timeout=5
BalancerMember http://192.168.1.200:9000/ route=assets2 loadfactor=5 connectiontimeout=5 timeout=5
ProxySet lbmethod=byrequests
ProxySet stickysession=ROUTEID


5、重启apache,访问测试
systemctl restart httpd
访问是否达到负载均衡。
谷歌访问:

猎豹访问:

使用两个浏览器访问查看route两个不一样,负载均衡完成。