文档章节

FineReport如何部署Tomcat服务器集群

九月你好123
 九月你好123
发布于 2016/11/30 16:30
字数 1017
阅读 24
收藏 0

环境准备

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

© 著作权归作者所有

共有 人打赏支持
九月你好123
粉丝 10
博文 111
码字总数 112722
作品 0
杭州
私信 提问
tomcat部署FineReport成功,访问reportlets下的自带模板cpt文件提示数据集配置错误

FineReport是一款数据展示(报表)、数据查询(参数)和数据录入(填报)功能集于一身,用来辅助开发基于BS软件系统的工具,能够革命性地加快软件开发速度,提高软件稳定性。他本质上还是一个servl...

两天三顿
2017/04/12
0
0
如何用FineReport报表进行数据可视化分析?

独立的数据毫无意义,能进行比较和分析的数据才是有价值的数据。在FineReport报表工具中,数据的录入和展示操作只是开始,之后的数据分析才是重头戏。那么在FineReport中经过怎样的配置才能进...

Sherlynn
2015/07/07
0
0
如何用FineReport报表进行数据可视化分析?

独立的数据毫无意义,能进行比较和分析的数据才是有价值的数据。在FineReport报表工具中,数据的录入和展示操作只是开始,之后的数据分析才是重头戏。那么在FineReport中经过怎样的配置才能进...

九月你好123
2015/07/07
498
0
用普通计算机假设基于liunx系统的NAS部署FineReport决策系统

何为NAS? 简单说就是连接在网络上,具备资料存储功能的装置因此也称为“网络存储器”。它是一种专用数据存储服务器。他以数据为中心,将存储设备与服务器彻底分离,集中管理数据,从而释放带...

九月你好123
2016/09/18
12
0
Web报表工具FineReport中JavaScript的使用

报表软件FineReport采用的是jQuery v1.9.2框架,jQuery是一个快速的,简洁的JavaScript库,能让用户更方便地处理HTML documents、events,实现动画效果,方便地为网站提供AJAX交互,并且它兼...

九月你好123
2016/03/11
249
0

没有更多内容

加载失败,请刷新页面

加载更多

AWK用法入门详解

AWK用法入门详解 简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将...

linjin200
23分钟前
3
0
Centos7 搭建Gitlab服务器并配置项目全过程

一、在Centos7上安装Gitlab 之前尝试过直接yum安装,但服务器从该yum源下载实在太慢,故手动下载rpm包安装。 1.先安装相关依赖 yum -y install policycoreutils openssh-server openssh-clie...

sjcehui2010
43分钟前
3
0
实现基于JWT的Token登录验证功能

前言 放假之前做了几个小项目+课设,都用到了token实现登录验证和权限判断,然鹅当时和同组的小伙伴也都是第一次接触到了token,于是乎都是一脸懵逼(xjbx)的写完了登录验证的前后端逻辑(我...

鱼煎
44分钟前
3
0
数学表达式计算 MathParser.org-mXparser

背景 在系统中需要计算公式,参数可以配置,类似excel的情况,可以实现数据的计算。 mXparser 实例 public static void main(String[] args) throws InterruptedException { Argume...

翱翔fly
49分钟前
4
0
即将开源 | 2亿用户背后的Flutter应用框架Fish Redux

背景 在闲鱼深度使用 Flutter 开发过程中,我们遇到了业务代码耦合严重,代码可维护性糟糕,如入泥泞。对于闲鱼这样的负责业务场景,我们需要一个统一的应用框架来摆脱当下的开发困境,而这也...

阿里云官方博客
58分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部