`

FineReport如何部署Tomcat服务器集群

阅读更多

环境准备

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的<display-name>节点后添加新的节点<distributable/>。在每个test项目文件夹下新建test.jsp,内容如下:

<%@ page contentType="text/html; charset=GBK" %>

<%@ page import="Java.util.*" %>

<html><head><title>Cluster App Test</title></head>

<body>

Server Info:

<%

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

<%

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

  // 如果有新的 Session 属性设置

  String dataName = request.getParameter("dataName");

  if (dataName != null && dataName.length() > 0) {

     String dataValue = request.getParameter("dataValue");

     session.setAttribute(dataName, dataValue);

  }

  out.println("<b>Session 列表</b><br>");

  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+"<br>");

         System.out.println( name + " = " + value);

   }

%>

  <form action="test.jsp" method="POST">

    名称:<input type=text size=20 name="dataName">

     <br>

    值:<input type=text size=20 name="dataValue">

     <br>

    <input type=submit>

   </form>

</body>

</html>

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集群和负载均衡已经实现了。

0
0
分享到:
评论

相关推荐

    FineReport关于tomcat集群部署的方案.pdf

    tomcat集群环境下的FineReport部署需要解决以下问题: 1. 配置权限、数据连接、模板、定时调度等只能每台服务器一个个配置,不会自动同步到所有服务器。 2. 多台服务器集群后,如何保证数据同步和灾备性? ...

    FineReport关于tomcat集群部署的方案.docx

    本方案介绍了 FineReport 在 Tomcat 集群部署中的解决方案,旨在解决多台服务器集群后配置权限、数据连接、模板、定时调度等问题的同步问题。通过 FineReport 的集群部署插件,实现了灾备和文件同步,保证了数据同步...

    Tomcat集群部署方案

    【Tomcat集群部署方案】 Apache Tomcat集群部署是提高Web应用程序可伸缩性和高可用性的常见策略。在集群环境中,多个Tomcat实例协同工作,共同处理来自客户端的请求,从而实现负载均衡和故障转移。本方案将详细介绍...

    FineReport 群集配置方案

    在实现 FineReport 群集配置方案的过程中,我们需要安装和配置 Apache 服务器、Tomcat 服务器和 JK 连接器。 首先,我们需要安装 Apache 服务器。 Apache 服务器官方没有发布编译好的 Linux 二进制包,因此我们...

    fineReport集成tomcat8.0.rar

    2. **下载FineReport**:访问FineReport官网,注册并下载适合Tomcat 8.0版本的FineReport部署包,通常是一个WAR文件。 3. **解压rar文件**:"fineReport集成tomcat8.0.rar"解压后,可能会包含配置文件、教程文档或...

    Finereport_tomcat.zip

    在这个压缩包中,Finereport被配置在Tomcat服务器上运行,这意味着用户可以通过Web访问Finereport的管理界面和报表。 3. **文件夹结构**: - **bin**:包含Tomcat的启动和停止脚本,如`startup.sh`和`shutdown.sh`...

    配置FineReport报表服务器

    在配置FineReport报表服务器前,首要任务是确认你的机器上已经安装了Tomcat、Resin、Weblogic、Websphere等任一应用服务器,这些都是支持FineReport运行的基础。此外,FineReport安装包内还包含了一个Jetty服务器,...

    fineReport报表工具服务器部署安装操作手册.rar

    对于高并发场景,可能需要进行服务器集群配置,以提升系统的稳定性和响应速度。 8. **升级与备份**:随着FineReport新版本的发布,及时进行软件升级可以享受更多新功能和优化。同时,定期备份服务器数据和配置,以...

    类excel报表开发工具FineReport教程之服务器性能优化:内存.pdf

    2. 服务器内存修改:不同的服务器有不同的内存配置方法,例如Tomcat服务器需要修改catalina.bat文件来调整服务器内存大小。FineReport也提供了JVM参数配置方法,包括-Xms和-Xmx参数的使用。 3. FineReport内存机制...

    FineReport报表工具的使用与集成

    通过简单的配置,即可将FineReport集成到Tomcat中。具体步骤可能包括配置web.xml文件,添加Servlet的定义和初始化参数,部署报表应用的WAR包到Tomcat服务器等。集成后,FineReport的报表功能可以通过Tomcat服务器...

    finereport教程

    1. 安装部署:首先下载FineReport服务器版本,将其解压后放入Tomcat的webapps目录下,启动Tomcat服务器即可。 2. 配置服务器:在Tomcat的server.xml文件中添加FineReport的Context配置,指定 FineReport的web应用...

    finereport缓存问题

    数据延迟是指缓存中的数据可能不是最新的数据,而缓存同步是指在服务器集群中,各个服务器之间的缓存需要同步化。 二、模板结果共享缓存 模板结果共享缓存是指 FineReport 报表系统中的一种缓存技术,旨在提高报表...

    如何修改FineReport报表平台中数据决策系统登陆地址

    2. **IFrame嵌入**:利用Tomcat服务器的配置文件来设置一个欢迎页面,该页面通过IFrame嵌入数据决策系统的登录界面。 下面我们将对这两种方案进行详细解析。 #### 方法一:设置跳转 **技术实现难度**:较低 **...

    Spring Boot2.6.13集成FineReport11.0教程

    Spring Boot 2.6.13 集成 FineReport 11.0 需要 JDK 1.8、Maven 3.8.5、MySQL 8.0.23 及 Tomcat 等环境配置。用户需要安装这些组件,并配置好相应的设置。 知识点 2:数据库设置 FineReport 需要连接数据库以获取...

    Web报表工具FineReport完整教程

    用户需在设计器中配置数据连接,编写SQL查询语句,获取所需数据。 5. **模板设计** 报表模板分为普通报表、分组报表、交叉报表等类型。通过行列的组合,可以构建各种复杂的报表结构。此外,FineReport还支持自定义...

    FineReport自学习题 V2.rar

    总的来说,通过《FineReport自学习题 V2》这个压缩包,用户可以从理论到实践全面掌握FineReport的使用技巧,提升数据分析和报表制作能力,无论是在日常工作中还是在项目开发中,都能发挥出FineReport的强大效能。

    spring boot整合finereport

    3. **配置应用**:在Spring Boot的配置文件`application.properties`或`application.yml`中,需要配置Finereport的相关参数,如服务器地址、数据库连接信息等。这些信息通常可以在Finereport的官方文档中找到。 4. ...

    FineReport报表软件技术指南.pdf"

    - 在增加服务器界面中选择本地目录,然后输入服务器名称并指定服务器路径。 - 路径一般指向`%FineReport_HOME%\WebReport\Web-INF`目录。 #### 五、总结 综上所述,FineReport是一款功能强大、易于使用的报表...

    详细解密FineReport中的报表执行过程

    FineReport中的报表执行过程可以分为两个主要步骤,即报表计算和页面转换。 首先,报表计算过程涉及到从数据库读取数据并进行处理。具体来说,FineReport会先读取用户编写的SQL语句,然后将这些语句发送至数据库...

Global site tag (gtag.js) - Google Analytics