文档章节

FineReport如何部署Tomcat服务器集群

九月你好123
 九月你好123
发布于 2016/11/30 16:30
字数 1017
阅读 10
收藏 0
点赞 0
评论 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

如何用FineReport报表进行数据可视化分析?

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

Sherlynn ⋅ 2015/07/07 ⋅ 0

如何用FineReport报表进行数据可视化分析?

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

九月你好123 ⋅ 2015/07/07 ⋅ 0

用普通计算机假设基于liunx系统的NAS部署FineReport决策系统

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

九月你好123 ⋅ 2016/09/18 ⋅ 0

Weblogic 10.1 配置JNDI 数据源

一. JNDI连接的使用原理: 1.1 在设计器中先用JDBC连接到数据库,建立数据库连接,然后用SQL或者其他方法创建数据集,使用数据集制作好报表,然后把建立的数据库连接从JDBC连接改成JNDI连接,...

finereport ⋅ 2011/12/15 ⋅ 0

引用 单独Tomcat5.X集群详细部署配置和说明

引用 【轰隆隆】 的 单独Tomcat5.X集群详细部署配置和说明 来源:铁木箱子的博客 对于大在线量和高访问量的WEB应用系统而言,web集群的部署是必须的,而且也是必要的。针对Tomcat5.X系列的w...

junsun ⋅ 2010/10/16 ⋅ 0

IIS集成配置

IIS简介: Internet Information Server的缩写为(IIS)是一个World Wide Web server。 Gopher server和FTP server全部包容在里面。 IIS意味着你能发布网页,并且有ASP(Active Server Pages...

finereport ⋅ 2012/01/05 ⋅ 0

FineReport 部署到tomcat后配置jndi连接

1.首先要在tomcat中配置JNDI 1)拷贝数据驱动包(mysql为例)mysql-connector-java-5.1.6-bin.jar到tomcat下的lib目录; 2)修改F:apache-tomcat-7.0.73confcontext.xml;...

两天三顿 ⋅ 2017/04/13 ⋅ 0

云集算项目-待学

1PXE全自动批量装机平台 项目描述: A公司要求为100台服务器装好系统,其中一半服务器要求配成网站服务器,当天就要完成,怎么快速完成 (批量装)? 购买的这些服务器都没有光驱,难道要找一...

wy125629 ⋅ 2017/10/11 ⋅ 0

Web报表工具FineReport中JavaScript的使用

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

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

没有更多内容

加载失败,请刷新页面

加载更多

下一页

JavaScript零基础入门——(十一)JavaScript的DOM操作

JavaScript零基础入门——(十一)JavaScript的DOM操作 大家好,欢迎回到我们的JavaScript零基础入门。最近有些同学问我说,我讲的的比书上的精简不少。其实呢,我主要讲的是我在开发中经常会...

JandenMa ⋅ 16分钟前 ⋅ 0

volatile和synchronized的区别

volatile和synchronized的区别 在讲这个之前需要先了解下JMM(Java memory Model :java内存模型):并发过程中如何处理可见性、原子性、有序性的问题--建立JMM模型 详情请看:https://baike.b...

MarinJ_Shao ⋅ 43分钟前 ⋅ 0

深入分析Kubernetes Critical Pod(一)

Author: xidianwangtao@gmail.com 摘要:大家在部署Kubernetes集群AddOn组件的时候,经常会看到Annotation scheduler.alpha.kubernetes.io/critical-pod"="",以表示这是一个关键服务,那你知...

WaltonWang ⋅ 50分钟前 ⋅ 0

原子性 - synchronized关键词

原子性概念 原子性提供了程序的互斥操作,同一时刻只能有一个线程能对某块代码进行操作。 原子性的实现方式 在jdk中,原子性的实现方式主要分为: synchronized:关键词,它依赖于JVM,保证了同...

dotleo ⋅ 57分钟前 ⋅ 0

【2018.06.22学习笔记】【linux高级知识 14.4-15.3】

14.4 exportfs命令 14.5 NFS客户端问题 15.1 FTP介绍 15.2/15.3 使用vsftpd搭建ftp

lgsxp ⋅ 今天 ⋅ 0

JeeSite 4.0 功能权限管理基础(Shiro)

Shiro是Apache的一个开源框架,是一个权限管理的框架,实现用户认证、用户授权等。 只要有用户参与一般都要有权限管理,权限管理实现对用户访问系统的控制,按照安全规则或者安全策略控制用户...

ThinkGem ⋅ 昨天 ⋅ 0

python f-string 字符串格式化

主要内容 从Python 3.6开始,f-string是格式化字符串的一种很好的新方法。与其他格式化方式相比,它们不仅更易读,更简洁,不易出错,而且速度更快! 在本文的最后,您将了解如何以及为什么今...

阿豪boy ⋅ 昨天 ⋅ 0

Python实现自动登录站点

如果我们想要实现自动登录,那么我们就需要能够驱动浏览器(比如谷歌浏览器)来实现操作,ChromeDriver 刚好能够帮助我们这一点(非谷歌浏览器的驱动有所不同)。 一、确认软件版本 首先我们...

blackfoxya ⋅ 昨天 ⋅ 0

线性回归原理和实现基本认识

一:介绍 定义:线性回归在假设特证满足线性关系,根据给定的训练数据训练一个模型,并用此模型进行预测。为了了解这个定义,我们先举个简单的例子;我们假设一个线性方程 Y=2x+1, x变量为商...

wangxuwei ⋅ 昨天 ⋅ 0

容器之查看minikue的environment——minikube的环境信息

执行如下命令 mjduan@mjduandeMacBook-Pro:~/Docker % minikube docker-envexport DOCKER_TLS_VERIFY="1"export DOCKER_HOST="tcp://192.168.99.100:2376"export DOCKER_CERT_PATH="/U......

汉斯-冯-拉特 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部