设为首页 收藏本站
查看: 1423|回复: 0

[经验分享] tomcat集群和负载均衡的实现(session同步)

[复制链接]

尚未签到

发表于 2018-12-7 14:11:46 | 显示全部楼层 |阅读模式
(一)环境说明  (1)服务器有4台,一台安装apache,三台安装tomcat
  (2)apache2.0.55、tomcat5.5.15、jk2.0.4、jdk1.5.6或jdk1.4.2
  (3)ip配置,一台安装apache的ip为192.168.0.88,三台安装tomcat的服务器ip分别为192.168.0.1/2/4
  (二)安装过程
  (1)在三台要安装tomcat的服务器上先安装jdk
  (2)配置jdk的安装路径,在环境变量path中加入jdk的bin路径,新建环境变量JAVA_HOME指向jdk的安装路径
  (3)在三台要安装tomcat的服务器上分别安装tomcat,调试三个tomcat到能够正常启动
  (4)tomcat的默认WEB服务端口是8080,默认的模式是单独服务,我的三个tomcat的WEB服务端口修改为7080/8888/9999
  修改位置为tomcat的安装目录下的conf/server.xml
  修改前的配置为
  
  修改后的配置为
  
  依次修改每个tomcat的监听端口(7080/8888/9999)
  (5)分别测试每个tomcat的启动是否正常
  http://192.168.0.1:7080
  http://192.168.0.2:8888
  http://192.168.0.4:9999
  (三)负载均衡配置过程
  (1)在那台要安装apache的服务器上安装apache2.0.55,我的安装路径为默认C:\Program Files\Apache Group\Apache2
  (2)安装后测试apache能否正常启动,调试到能够正常启动http://192.168.0.88
  (3)下载jk2.0.4后解压缩文件
  (4)将解压缩后的目录中的modules目录中的mod_jk2.so文件复制到apache的安装目录下的modules目录中,我的为C:\Program Files\Apache Group\Apache2\modules
  (5)修改apache的安装目录中的conf目录的配置文件httpd.conf,在文件中加LoadModule模块配置信息的最后加上一句LoadModule jk2_module modules/mod_jk2.so
  (6)分别修改三个tomcat的配置文件conf/server.xml,修改内容如下
  修改前
  
  
  
  
  修改后
  
  
  
  
  将其中的jvmRoute="jvm1"分别修改为jvmRoute="tomcat1"和jvmRoute="tomcat2"和jvmRoute="tomcat3"
  (7)然后重启三个tomcat,调试能够正常启动。
  (8)在apache的安装目录中的conf目录下创建文件workers2.propertie,写入文件内容如下
  # fine the communication channel
  [channel.socket:192.168.0.1:8009]
  info=Ajp13 forwarding over socket
  #配置第一个服务器
  tomcatId=tomcat1 #要和tomcat的配置文件server.xml中的jvmRoute="tomcat1"名称一致
  debug=0
  lb_factor=1 #负载平衡因子,数字越大请求被分配的几率越高
  # Define the communication channel
  [channel.socket:192.168.0.2:8009]
  info=Ajp13 forwarding over socket
  tomcatId=tomcat2
  debug=0
  lb_factor=1
  # Define the communication channel
  [channel.socket:192.168.0.4:8009]
  info=Ajp13 forwarding over socket
  tomcatId=tomcat3
  debug=0
  lb_factor=1
  [status:]
  info=Status worker, displays runtime information.
  [uri:/jkstatus.jsp]
  info=Display status information and checks the config file for changes.
  group=status:
  [uri:/*]
  info=Map the whole webapp
  debug=0
  (9)在三个tomcat的安装目录中的webapps建立相同的应用,我和应用目录名为TomcatDemo,在三个应用目录中建立相同 WEB-INF目录和页面index.jsp,index.jsp的页面内容如下
  
  
  Cluster App Test
  
  Server Info:
  
   0) {
  String dataValue = request.getParameter("dataValue");
  session.setAttribute(dataName, dataValue);
  }
  out.print("Session 列表");
  Enumeration e = session.getAttributeNames();
  while (e.hasMoreElements()) {
  String name = (String)e.nextElement();
  String value = session.getAttribute(name).toString();
  out.println( name + " = " + value+"");
  System.out.println( name + " = " + value);
  }
  %>
  
  名称:
  
  值:
  
  
  
  
  
  (10)重启apache服务器和三个tomcat服务器,到此负载 均衡已配置完成。测试负载均衡先测试apache,访问http://192.168.0.88/jkstatus.jsp
  能否正常访问,并查询其中的内容,有三个tomcat的相关配置信息和负载说明,访问http://192.168.0.88/TomcatDemo/index.jsp看能够运行,
  能运行,则已建立负载均衡。
  (四)tomcat集群配置
  (1)负载均衡配置的条件下配置tomcat集群
  (2)分别修改三个tomcat的配置文件conf/server.xml,修改内容如下
  修改前
  
  修改后
  
  
  
  
  
  
  
  
  
  
  将集群配置选项的注释放开即可,如上。
  (3)重启三个tomcat。到此tomcat的集群已配置完成。
  (五)应用配置
  对于要进行负载和集群的的tomcat目录下的webapps中的应用中的WEB-INF中的web.xml文件要添加如下一句配置
  
  配置前
  
  
  TomcatDemo
  
  配置后
  
  
  TomcatDemo
  
  
  tomcat集群和负载均衡的实现(session同步)补充
  因为tomcat的session同步功能需要用到组播,windows默认情况下是开通组播服务的,但是linux默认情况下并没有开通,可以通过指令打开route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0,如果需要服务器启动时即开通组播需在/etc/sysconfig/static-routes文件内加入eht0 net 224.0.0.0 netmask 240.0.0.0。具体组播概念请查阅CCNP相关内容。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-644395-1-1.html 上篇帖子: 如何解决Tomcat下中文乱码问题? 下篇帖子: 什么是Servlet容器、Web服务器、Tomcat服务器?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表