为了账号安全,请及时绑定邮箱和手机立即绑定

Apache24+tomcat9实现负载均衡

标签:
Java 设计
  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启动异常。


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消