wjhtwx 2020-04-17 12:25 采纳率: 0%
浏览 169

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

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

https://blog.csdn.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

  • 写回答

1条回答 默认 最新

  • qq_42914371 2020-04-17 16:35
    关注

    公司两台服务器都安装了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两个不一样,负载均衡完成。

    评论

报告相同问题?