继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Apache24+tomcat9实现负载均衡

东林哥
关注TA
已关注
手记 19
粉丝 11
获赞 18
  1. 修改tomcat配置

    修改一:

    修改<Server port="8001" shutdown="SHUTDOWN">中的port值(自定义未被占用端口即可)

    修改二:

    修改<Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />中的port值(自定义未被占用的端口)

    修改三:

    修改<Connector port="20001" protocol="AJP/1.3" redirectPort="8443" />中的port值(自定义未被占用的端口即可)

    修改四:

    取消<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">注释,同时添加jvmRooute属性并设值(该值可自定义)

    修改五

    取消<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>注释(否则session复制失败>

  2. 项目中wex.xml加入<distributable/>标签,用于可分配。

  3. 页面加入端口、session信息显示

    Server Info:

    <%out.println(request.getLocalAddr() + " : " + request.getLocalPort()+<br>")

    out.println("<br> sessionID " + session.getId()+"<br>");

    %>

  4. 此时打开把项目部署到tomcat运行,三个tomcat的session已经能同步复制。

  5. 配置apache,修改httpd.conf,去掉如下注释


    LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so

    LoadModule proxy_module modules/mod_proxy.so

    LoadModule proxy_ajp_module modules/mod_proxy_ajp.so  

    LoadModule proxy_balancer_module modules/mod_proxy_balancer.so

    LoadModule proxy_connect_module modules/mod_proxy_connect.so

    LoadModule proxy_ftp_module modules/mod_proxy_ftp.so

    LoadModule proxy_http_module modules/mod_proxy_http.so

    LoadModule slotmem_shm_module modules/mod_slotmem_shm.so

    Include conf/extra/httpd-vhosts.conf

  6. 修改变量Define SRVROOT "/Apache24" 为安装路径

    在尾部加上

    ProxyRequests Off 

    <Proxy balancer://mycluster> 

    BalancerMember ajp://localhost:20001/ loadfactor=1 route=tomcat1

    BalancerMember ajp://localhost:20002/ loadfactor=1 route=tomcat2

    BalancerMember ajp://localhost:20003/ loadfactor=1 route=tomcat3

    </Proxy>

  7. 修改端口81

  8. 修改/conf/extra/httpd-vhosts.conf最后加上

    <VirtualHost *:81>

    ServerName 127.0.0.1

    ServerAlias localhost

    ProxyPass / balancer://mycluster/ stickysession=jsessionid nofailover=On

    ProxyPassReverse / balancer://mycluster/

    ErrorLog "logs/lbtest-error.log"

    CustomLog "logs/lbtest-access.log" common

    </VirtualHost>

  9. 进入apache安装路径/bin后httpd -k install -n "server name"如http -k install -n "apacheserver"安装服务

  10. 启动apache访问localhost:81/项目名即可

  11. tomcat修改项目发布的访问路径

    在server.xml里的<HOST>标签中加

    <Context path="/hospital" docBase="../webapps/hospital-0.0.1-SNAPSHOT" reloadable="true" />

    path填访问路径;docBase填项目相对路径,填错则tomcat启动异常。


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP