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两个不一样,负载均衡完成。