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

[经验分享] FineReport如何部署Tomcat服务器集群

[复制链接]

尚未签到

发表于 2018-12-7 07:37:54 | 显示全部楼层 |阅读模式
环境准备

Tomcat服务器集群中需要进行环境准备:

  •   Apache:Apache是http服务器,利用其对Tomcat进行负载均衡,这里使用的版本是Apache HTTP Server2.0.64;
  •   Tmocat:Tmocat7.0.6;
  •   JK:JK是Tmocat提供给http服务器的插件,这里使用的版本是tmocat-connectors-1.2.37-windows-i386-httpd-2.0.x;
  •   系统:win7。
软件安装
Apache
下载完成之后,直接安装apache,安装完成之后,在浏览器中输入http://localhost/,能够看到下图则说明安装成功:

Tomcat
解压下载好的tomcat缩包,复制三份解压好的tomcat文件夹,分别重命名为tomcat1,tomcat2,tomcat3。
配置过程
Apache配置修改
修改httpd.conf,找到conf目录下的httpd.cof,在文件的最后一行添加:
include "C:\Program Files (x86)\Apache Group\Apache2\conf\mod_jk.conf"
新建mod_jk.conf文件,在conf目录下新建mod_jk.conf文件,内容如下:
LoadModule jk_module modules/mod_jk.so
JkWorkersFile conf/workers.properties
JkMount /*.jsp controller
解压下载的jk文件,将里面的so文件复制到Apache安装目录的modules目录下,这里下载的jk文件名为mod-jk.so。新建并编辑workers.properties文件。在conf文件夹下新建worker.properties,内容如下:
#server
worker.list = controller
#========tomcat1========
worker.tomcat1.port=11009
worker.tomcat1.host=localhost
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor = 1
#========tomcat2========
worker.tomcat2.port=12009
worker.tomcat2.host=localhost
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor = 1
#========tomcat3========
worker.tomcat3.port=13009
worker.tomcat3.host=localhost
worker.tomcat3.type=ajp13
worker.tomcat3.lbfactor = 1

#========controller,负载均衡控制器========
worker.controller.type=lb
worker.controller.balanced_workers=tomcat1,tomcat2,tomcat3
worker.controller.sticky_session=false
worker.controller.sticky_session_force=1
#worker.controller.sticky_session=1
如果需要配置远程的tomcat服务器的话,只需要将worker.tomcat3.host=localhost中的localhost改为远程服务器的IP地址即可。本次配置都是本地的tomcat,并且在一台机器上,所以端口号都不相同,如果在不同服务器上,端口号则不需要更改。
Tomcat配置
修改之前复制好的三份tmocat中的server.xml配置,打开conf/server.xml文件,修改如下图:
tomcat1:


Tomcat2:


Tomcat3:


结果测试
在tomcat下面的项目文件夹中修改web.xml,如这里使用test项目,则修改三个tomcat下面的test项目中的web.xml,在每个web.xml的节点后添加新的节点。在每个test项目文件夹下新建test.jsp,内容如下:


Cluster App Test

Server Info:

0) {
     String dataValue = request.getParameter("dataValue");
     session.setAttribute(dataName, dataValue);
  }
  out.println("Session 列表");
  System.out.println("============================");
  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);
   }
%>
  
    名称:
     
    值:
     
   
   


Session测试
项目部署好之后,启动三个tomcat以及Apache,启动顺序随意,然后再浏览器中输入http://localhost/test/test.jsp,结果如下图:

刷新页面,如下图:

再次刷新,如下图:

多次刷新页面的sessionID看是同一个ID,说明session是复制成功了。那么session中的存储的东西呢,在输入框中分别输入1、1,2、2,3、3后,显示结果如下图:



节点插拔测试
关闭Tomcat
关闭tomcat3,刷新页面,可以不断访问tomcat1和tomcat2,再关闭tomcat2,只能够访问tomcat1,说明节点关闭时运行正常。
启动Tomcat
如果重启Tomcat2,无论怎么刷新,始终访问Tomcat3,无法访问tomcat2,这时利用另外台机器访问页面,发现Tomcat2正常,然后在刷本地页面,又可以访问Tomcat2了。对于每个新来的session,Apache按照节点配置中的lbfactor比重选择访问节点,如果某节点node1不能访问,则寻找下一可访问节点,并且将此node1就在该访问session的访问黑名单中,以后该session的访问直接不考虑node1,即使node1又可以访问了。而新来的session是无黑名单的,如果新的session能够访问到node1了,则会将node1在其他所有session访问的黑名单删除,这样其他session就又能访问node1节点了。经过以上测试,说明Tomcat集群和负载均衡已经实现了。
  





运维网声明 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-644126-1-1.html 上篇帖子: Tomcat建立虚拟主机最佳实践 下篇帖子: Tomcat自动部署(洛晨的技术日记)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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