httpd系列-03-反向代理tomcat-balancer

声明

该文章由大牛 马哥 的相关linux视频资料整理而来。若认为内容侵权请及时通知本人。

相关文章

  • tomcat系列-01-简介
  • httpd系列-00-编译安装-CentOS/RedHat
  • httpd系列-01-常用配置
  • httpd系列-02-反向代理tomcat-standalone

[TOC]

说明

最终结果

httpd系列-03-反向代理tomcat-balancer_第1张图片
httpd-tomcat
  • 反向代理和后端tomcat之间的通信协议有两种
    • http
    • ajp(Apache Jserv Protocol)
  • 反向代理和后端tomcat之间的模块也有两种
    • mod_proxy
    • mod_jk

所以配置方式也就种了。
这里只说明使用mod_proxy的方式。

tomcat配置文件

c2:192.168.1.103-server.xml



  
    
  

 

  
    
  

c3:192.168.1.163-server.xml



  
    
  



  
    
  

mod_proxy方式

环境准备

请确保httpd加载了相关的代理模块

[root@c2 httpd]# service httpd -D DUMP_MODULES | grep proxy
 proxy_module (shared)
 proxy_connect_module (shared)
 proxy_ftp_module (shared)
 proxy_http_module (shared)
 proxy_fcgi_module (shared)
 proxy_scgi_module (shared)
 proxy_ajp_module (shared)
 proxy_balancer_module (shared)
 proxy_express_module (shared)

httpd配置文件

ProxyRequests Off
Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_ROUTE_CHANGED

    BalancerMember ajp://c2:8009 loadfactor=1 route=tomcatA
    BalancerMember ajp://c3:8009 loadfactor=1 route=tomcatB
    
    #BalancerMember http://c2:8080 loadfactor=1 route=tomcatA
    #BalancerMember http://c3:8080 loadfactor=1 route=tomcatB
    
    #ProxySet lbmethod=bybusyness|bytraffic|byrequests
    ProxySet stickysession=ROUTEID



    #ServerName my-proxy-host
    ProxyVia Off
    ProxyPass / balancer://lb_cluster_1/ nofailover=Off
    ProxyPassReverse / balancer://lb_cluster_1/

    
        Require all granted
    
    
        Require all granted
    

参数说明

  • lbmethod:apache实现负载均衡的调度方法,
    • 默认是byrequests,即基于权重将统计请求个数进行调度
    • bytraffic则执行基于权重的流量计数调度
    • bybusyness通过考量每个后端服务器的当前负载进行调度
  • maxattempts:放弃请求之前实现故障转移的次数,默认为1,其最大值不应该大于总的节点数
  • nofailover:取值为On或Off,设置为On时表示后端服务器故障时,用户的session将损坏;因此,在后端服务器不支持session复制时可将其设置为On
  • stickysession:调度器的sticky session的名字,根据web程序语言的不同,其值为JSESSIONID或PHPSESSIONID
  • 其他参数请参考 httpd系列-02-反向代理tomcat-standalone

你可能感兴趣的:(httpd系列-03-反向代理tomcat-balancer)