nawawa001 发表于 2018-11-21 13:13:38

Apache负载均衡之mod_proxy模块实现

  
                            Apache负载均衡之mod_proxy模块实现

实验环境:一台虚拟机,IP:192.168.1.117
实验目的:学习mod_proxy的负载功能,实现Apache反代并且负载到后端两个tomcat。
实验步骤:
  在/etc/httpd/conf.d目录下增加配置文件,实现Apache的负载均衡。
  # cd /etc/httpd/conf.d
  # vim mod_proxy.conf
  
        BalancerMember http://192.168.1.117:8080 loadfactor=1 route=TomcatA
        BalancerMember http://192.168.1.117:9080 loadfactor=1 route=TomcatB
        ProxySet lbmethod=byrequests
  
  
  ProxyPass / balancer://lbcluser1/
  ProxyPa***everse / balancer://lbcluser/
  保存退出
  在上面配置文件和ProxyPass / balancer://lbcluser1/ 的中间中添加如下,这样可以访问其status页面。
  
     SetHander balancer-manager
     ProxyPass !
     Order allow,deny
     Allow from all
  
  即是下面配置, # vim mod_proxy.conf
  
        BalancerMember http://192.168.1.117:8080 loadfactor=1 route=TomcatA
        BalancerMember http://192.168.1.117:9080 loadfactor=1 route=TomcatB
        ProxySet lbmethod=byrequests
  
  
  
     SetHander balancer-manager
     ProxyPass !
     Order allow,deny
     Allow from all
  
  
  ProxyPass / balancer://lbcluster1/
  ProxyPa***everse / balancer://lbcluster/
  保存退出之后
  # httpd -t
  # service httpd restart
http://home.51cto.com/thumb.php?w=600&h=600&t=f&url=http://s3.51cto.com/wyfs02/M00/5A/14/wKiom1T1dTiAxoUHAAKxRY5g0fQ235.jpg
  
  
  下面在tomcat下创建test测试页
  现在两个tomcat上做测试页,即在/usr/local/tomcatA/webapps/目录下
   创建# mkdir -pv ./test/WEB-INF/{classes,lib},并且在test目录下穿件文件
  # vim index.jsp
  
  
  TomcatA
  
      TomcatA. .just a test page
     
        
        Session ID
     
        
        
        
        Created on
        
     
     
  
  
  同理在tomcatB同位置处
  演示效果,在TomcatB上某context中(如/test),提供如下页面
  
  
  TomcatB
  
      TomcatB.just a test page
     
        
        Session ID
     
        
        
        
        Created on
        
     
     
  
  
  
      还有一步就是在/usr/local/tomcat{1,2}/webpapps/test/WEB-INF/的目录下加一个web.xml文件并且在其任意位置添加。
  
  对于tomcatA来说
  # cp ./web.xml /usr/local/tomcatA/webapps/test/WEB-INF/
  # cd /usr/local/tomcatA/webapps/test/WEB-INF/
  # ls
  classeslibweb.xml
  #
  # vim web.xml //任意位置加入下信息
  
  
      对于tomcatB来说
  # cp ./web.xml /usr/local/tomcatA/webapps/test/WEB-INF/
  # cd /usr/local/tomcatB/webapps/test/WEB-INF/
  # ls
  classeslibweb.xml
  # vim web.xml //任意位置加入下信息。
  
     分别重新启动。
  # ./catalina.sh stop
  Using CATALINA_BASE:   /usr/local/tomcatB
  Using CATALINA_HOME:   /usr/local/tomcatB
  Using CATALINA_TMPDIR: /usr/local/tomcatB/temp
  Using JRE_HOME:      /opt/jdk1.7.0_71/
  Using CLASSPATH:       /usr/local/tomcatB/bin/bootstrap.jar:/usr/local/tomcatB/bin/tomcat-juli.jar
  # ./catalina.sh start
  Using CATALINA_BASE:   /usr/local/tomcatB
  Using CATALINA_HOME:   /usr/local/tomcatB
  Using CATALINA_TMPDIR: /usr/local/tomcatB/temp
  Using JRE_HOME:      /opt/jdk1.7.0_71/
  Using CLASSPATH:       /usr/local/tomcatB/bin/bootstrap.jar:/usr/local/tomcatB/bin/tomcat-juli.jar
  Tomcat started.
  #
      重新启动,并且访问http://192.168.1.117/test
http://home.51cto.com/thumb.php?w=600&h=600&t=f&url=http://s3.51cto.com/wyfs02/M00/5A/14/wKiom1T1dTiza9YzAAFXyXQxWRs660.jpg
  刷新页面
http://home.51cto.com/thumb.php?w=600&h=600&t=f&url=http://s3.51cto.com/wyfs02/M00/5A/10/wKioL1T1dkuhmUupAAE530HvNl8180.jpg
           
  
      将上面test应用定义成集群会话管理器,将下面文件拷贝到两个文件中
  
  
           
  
           
              
              
  
              
              
              
              
              
           
  
           
           
  
           
  
           
           
        
  之后再次访问,会话保持
http://home.51cto.com/thumb.php?w=600&h=600&t=f&url=http://s3.51cto.com/wyfs02/M01/5A/10/wKioL1T1dkvw6no5AAFLRMpgtrs403.jpg
  刷新一下,不难发现SessionID 没有变化。
http://home.51cto.com/thumb.php?w=600&h=600&t=f&url=http://s3.51cto.com/wyfs02/M01/5A/10/wKioL1T1dkzyl9FXAAE3ypauH2Y067.jpg
  



页: [1]
查看完整版本: Apache负载均衡之mod_proxy模块实现