中间件培训tomcatTAS.docx

上传人:b****8 文档编号:28214801 上传时间:2023-07-09 格式:DOCX 页数:97 大小:823.91KB
下载 相关 举报
中间件培训tomcatTAS.docx_第1页
第1页 / 共97页
中间件培训tomcatTAS.docx_第2页
第2页 / 共97页
中间件培训tomcatTAS.docx_第3页
第3页 / 共97页
中间件培训tomcatTAS.docx_第4页
第4页 / 共97页
中间件培训tomcatTAS.docx_第5页
第5页 / 共97页
点击查看更多>>
下载资源
资源描述

中间件培训tomcatTAS.docx

《中间件培训tomcatTAS.docx》由会员分享,可在线阅读,更多相关《中间件培训tomcatTAS.docx(97页珍藏版)》请在冰豆网上搜索。

中间件培训tomcatTAS.docx

中间件培训tomcatTAS

中间件培训

——Tomcat、TAS

1中间件概念

位于平台(硬件和操作系统)和应用之间的通用服务,如下图所示,这些服务具有标准的程序接口和协议。

针对不同的操作系统和硬件平台,它们可以有符合接口和协议规范的多种实现。

2中间件应具有如下的一些特点

●满足大量应用的需要

●运行于多种硬件和OS平台

●支持分布计算,提供跨网络、硬件和OS平台的透明性的应用或服务的交互

●支持标准的协议

●支持标准的接口

3主流产品简介

Tomcat

Tomcat在严格意义上讲并不是一个真正的应用服务器,它只是一个可以支持运行Serlvet/JSP的Web容器,不过Tomcat也扩展了一些应用服务器的功能,如JNDI,数据库连接池,用户事务处理等等。

Tomcat是Apache组织下Jakarta项目下的一个子项目,目前Tomcat被非常广泛的应用在中小规模的JavaWeb应用中

TAS

TAS全称为thunisoftapplicationserver(紫光华宇应用服务器),是一个自主开发的企业级中间件产品。

其支持servlet2.5和jsp2.1规范,同时具有强大的管理功能。

TAS管理控制台可以通过浏览器访问,在控制台中可以可视化的发布标准的war包应用程序、配置数据源、修改服务器配置、维护用户列表、管理集群等。

TAS包含两个子产品,分别是TAS服务器和TAS负载均衡器。

TAS服务器是一个用于运行应用程序的独立服务器。

TAS负载均衡器简称TASLB,是TAS集群的控制中枢,TASLB对外提供统一的访问接口,并转发请求到集群中的TAS服务器。

BEAWeblogic

BEAWebLogicEnterprise是高可伸缩、高可用、支持企业Java标准和CORBA且具有主机互操作性的企业应用服务器,是运行关键任务Web应用的扩展型WebLogic组件中间件系列的旗舰产品。

BEAWebLogicEnterprise能够帮助大型企业将其Web和Java应用与现有台式机应用、企业数据和原有系统集成起来。

IBMWebSphereApplicationServer

IBMWebSphereApplicationServer是一个完善的、开放的Web应用服务器。

它是IBM电子商务应用架构的核心。

WebSphere应用服务器严格地遵循普遍流行的开放标准,如HTTP、HTML、JSP、JNDI和IIOP。

SybaseEnterpriseApplicationServer

SybaseEnterpriseApplicationServer(EAServer)是SybaseInternet应用开发包EnterpriseApplicationStudio中的重要组成部分,它将Sybase的组件事务处理服务器JaguarCTS和Web应用服务器PowerDynamo紧密集成并加以发展,是同时实现WebOLTP和动态信息发布的企业级应用服务器平台,并且支持所有标准的组件模型,包括JavaBeans、COM和CORBA等。

OracleApplicationServer

Oracle应用服务器提供了一个开放的标准架构,是开发部署Web上的应用的理想平台。

它的伸缩性、分布架构和高度数据库集成是支持关键事务,交易型应用的基础,通过采用Netscape和MicrosoftHTTP服务器,提供了易于使用的界面,并为Oracle方案提供了简易的升级方法。

MicrosoftTransactionServer

MicrosoftTransactionServer(MTS)2.0是WindowsNT的一个重要特性,它采用Microsoft组件对象模型(COM)技术,简化以服务器为中心的应用程序的开发和配置。

MTS2.0是在WindowsNT上构建和配置基于COM的应用程序的最简便的方法。

MTS完全分成三层结构,从表示层到应用逻辑,这使MTS开发人员在构造他们的应用程序时,就象收集一组单用户COM组件,然后在相应的层设置这些组件一样。

4Tomcat

4.1安装说明

●安装Tomcat前必须先安装JDK软件,否则无法安装成功;

●Tomcat5.5后只支持JDK1.5以上版本,Tomcat5.0以下可支持JDK1.4;

●安装Tomcat时安装目录建议不要带空格,避免应用程序处理错误;

●同一台服务器上可以安装多个Tomcat软件,但需设定不同的端口;

●绿色版无需安装,直接copy即可使用,但注意修改启动文件;

4.2目录

该目录内的文件的一般功能描述

bin

包含有Startup.bat(启动服务器)、shutdown.bat(关闭服务器)、catalina.bat(启动参数设置)文件等

conf

包含设置部署在Tomcat上的Web应用的变量的初始值的设置文件,包括server.xml(Tomcat的全局配置文件)和web.xml(为不同的Tomcat配置的web应用设置缺省值的文件)、tomcat-users.xml(tomcat管理员用户信息)

doc

包含关于Tomcat的各种各样的文档。

common

在其lib目录下,主要存放如JDBC的驱动程序及被Tomcat使用的各种各样的jar文件

logs

Tomcat的log文件:

stderr.log、stdout.log

log日志分为如下两种:

第一种是stdout.log,用于记录system.out的输出信息

第二种是errout.log,用于记录system.err的输出信息

webapps

发布的各类Web应用程序(JSP、Servlet和JavaBean等)

work

由Tomcat自动生成,这是Tomcat放置它运行期间的中间(intermediate)文件(诸如编译的JSP文件)地方。

如果当Tomcat运行时,你删除了这个目录那么将不能够执行包含JSP的页面。

4.3环境及参数配置

启动前需设置环境变量,否则报错

解决办法

4.4将Tomcat的控制台的输出定位到指定的文件中

4.4.1方法一(最简单的方法)

注意:

修改之前,请备份下面的两个文件

修改tomcat\bin中的两个文件startup.bat、catalina.bat

修改startup.bat的倒数第二行:

call"%EXECUTABLE%"start%CMD_LINE_ARGS%,为:

call"%EXECUTABLE%"run%CMD_LINE_ARGS%

修改catalina.bat中的:

doneSetArgs部分

有四句与下面的语句一样,四句都要改

将%_EXECJAVA%%JAVA_OPTS%%CATALINA_OPTS%%DEBUG_OPTS%-Xms128m-Xmx256m-Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%"-classpath"%CLASSPATH%"-Dwas40.config=%WAS40_CONFIG%-Dfile.encoding=GBK-Dcatalina.base="%CATALINA_BASE%"-Dcatalina.home="%CATALINA_HOME%"-Djava.io.tmpdir="%CATALINA_TMPDIR%"%MAINCLASS%%CMD_LINE_ARGS%%ACTION%

修改为:

%_EXECJAVA%%JAVA_OPTS%%CATALINA_OPTS%%DEBUG_OPTS%-Xms128m-Xmx256m-Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%"-classpath"%CLASSPATH%"-Dwas40.config=%WAS40_CONFIG%-Dfile.encoding=GBK-Dcatalina.base="%CATALINA_BASE%"-Dcatalina.home="%CATALINA_HOME%"-Djava.io.tmpdir="%CATALINA_TMPDIR%"%MAINCLASS%%CMD_LINE_ARGS%%ACTION%>>D:

\Tomcat\logs\stdout.log

或是查找%ACTION%

在后%ACTION%后加>>D:

\Tomcat\logs\stdout.log

或>D:

\Tomcat\logs\stdout.log

重启服务,即可

4.4.2方法二(定义变量的方法)

将Tomcat的控制台的输出定位到指定的文件中

注意:

修改之前,请备份下面的两个文件

修改tomcat\bin中的两个文件startup.bat、catalina.bat

修改startup.bat的倒数第二行:

call"%EXECUTABLE%"start%CMD_LINE_ARGS%,为:

call"%EXECUTABLE%"run%CMD_LINE_ARGS%

修改catalina.bat

查找到

setDEBUG_OPTS=

setJPDA=

增加

setACTION=start

setLOGFILE=%CATALINA_HOME%/logs/stdout.log

然后到:

doneSetArgs部分

有四句与下面的语句一样,四句都要改

将%_EXECJAVA%%JAVA_OPTS%%CATALINA_OPTS%%DEBUG_OPTS%-Xms128m-Xmx256m-Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%"-classpath"%CLASSPATH%"-Dwas40.config=%WAS40_CONFIG%-Dfile.encoding=GBK-Dcatalina.base="%CATALINA_BASE%"-Dcatalina.home="%CATALINA_HOME%"-Djava.io.tmpdir="%CATALINA_TMPDIR%"%MAINCLASS%%CMD_LINE_ARGS%%ACTION%

修改为:

%_EXECJAVA%%JAVA_OPTS%%CATALINA_OPTS%%DEBUG_OPTS%-Xms128m-Xmx256m-Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%"-classpath"%CLASSPATH%"-Dwas40.config=%WAS40_CONFIG%-Dfile.encoding=GBK-Dcatalina.base="%CATALINA_BASE%"-Dcatalina.home="%CATALINA_HOME%"-Djava.io.tmpdir="%CATALINA_TMPDIR%"%MAINCLASS%%CMD_LINE_ARGS%%ACTION%>%LOGFILE%

或是查找%ACTION%

在后%ACTION%后加>>%LOGFILE%

重启服务,即可

4.5多个tomcat在一台机器时需要修改内容

Tomcat\conf\server.xml

端口修改:

8080,8005

$tomca\bin\catalina.bat

startup.bat

设置

JAVA_HOME,及CATALINA_HOME、CATALINA_BASE

setJAVA_HOME=D:

\jdk1.5.0_22\

4.6server.xml

需要修改\conf\server.xml文件中的Connector元素,Connector表示一个到用户的联接,负责管理Tomcat的工作线程和读/写连接到不同用户的端口的请求/响应。

Connector的配置包含如下信息:

句柄类、句柄监听的TCP/IP端口、句柄服务器端口的TCP/IP的backlog。

修改后,必须重新启动Tomcat的服务器。

(可设置多个Connector监听不同端口)

port="8080"maxThreads="150"minSpareThreads="25"maxSpareThreads="75"enableLookups="false"redirectPort="8443"acceptCount="100"debug="0"connectionTimeout="20000"disableUploadTimeout="true"/>

ØmaxThreads:

Tomcat使用线程来处理接收的每个请求。

这个值表示Tomcat可创建的最大的线程数。

ØacceptCount:

指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理。

ØconnnectionTimeout:

网络连接超时,单位:

毫秒。

设置为0表示永不超时,这样设置有隐患的。

通常可设置为30000毫秒。

ØminSpareThreads:

Tomcat初始化时创建的线程数。

ØmaxSpareThreads:

一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。

ØmaxKeepAliveRequests:

保持请求数量,默认值100。

ØenableLookups:

如果为true,则可以通过调用request.getRemoteHost()进行DNS查询来得到远程客户端的实际主机名,若为false则不进行DNS查询,而是返回其ip地址其中和最大连接数相关的参数为maxThreads和acceptCount。

如果要加大并发连接数,应同时加大这两个参数。

webserver允许的最大连接数还受制于操作系统的内核参数设置,通常Windows是2000个左右,Linux是1000个左右。

serverport:

指定一个端口,这个端口负责监听关闭tomcat的请求

shutdown:

指定向端口发送的命令字符串

端口冲突解决办法

TOMCAT中IP访问限制

allow="192.168.1.*,192.168.2.*,*"deny=""/>

TomcatContext

【几个Note】

1、Tomcat配置文件server.xml区分大小写,例如docbase不会当初docBase,写错了容器会默认docBase与path的值相同,而不是docbase的值。

2、在server.xml中定义Context节点,可以覆盖webapps中的与path相同的文件夹。

3、尝试定义相同的Context的pathName会导致Tomcat无法启动

4、几个Context可以指向同一个docBase

【Context】

功能:

WebApplicationArchive描述符

存在位置:

$CATALINA_HOME/conf/context.xml

$CATALINA_HOME/conf/[enginename]/[hostname]/*.xml

$CATALINA_HOME/webbase/appDirName/META-INF/context.xml

Server.xml中的Host节点内

属性:

backgroundProcessorDelay

className实现org.apache.catalina.Context接口

cookies是否允许cookie

crossContext是否允许应用程序交互调用ServletContext.getContext()

docBaseContext根目录。

override是否覆盖host的默认context配置

path应用程序的url路径。

每个host的所有app的path必须不同。

注意,这个只有在server.xml中定义context时才使用,一般通过文件名或目录名自动推断。

privileged是否允许使用containerservlets,就像managerservlet

reloadable是否监测和加载/WEB-INF/classes/和/WEB-INF/lib中的类文件的更新。

wrapperClass实现org.apache.catalina.Wrapper接口的类。

allowLinking,antiJARLocking,antiResourceLocking,cacheMaxSize,cacheTTL,cachingAllowed,caseSensitive,processTlds,swallowOutput,tldNamespaceAware,tldValidation,unloadDelay,unpackWAR,useNaming,workDir

子节点:

Loader类加载器。

最多一个

Managerhttp会话的创建、销毁和保持的管理类。

最多一个

Realm授权管理。

最多一个

Resources资源管理类。

最多一个

WatchedResource监控资源,字符串。

自动加载器会随时更新这个资源。

【Loader】

说明:

放在Context节点内

属性:

delegatetrue表示加载前先问上级loader,同java一般模式;false,先从本loader开始尝试加载

reloadable是否监控类文件变化,实时更新加载。

【Manager】

说明:

放在Context内,管理每个webapp的http会话的创建和维持。

最好的方式是多设置几次并且进行测试,观察响应时间和内存使用情况。

在不同的机器、操作系统或虚拟机组合的情况下可能会不同,而且并不是所有人的web站点的流量都是一样的,因此没有一刀切的方案来确定线程数的值。

4.7端口冲突相关问题

日志:

e:

\z中间件\tomcat问题日志\吉林高院端口冲突line14951.log

内容:

StandardServer.await:

create[8080]:

.BindException:

Addressalreadyinuse:

JVM_Bind

解决办法:

Tomcat\conf\server.xml

备份这个文件

搜索port=“8080“或是Connector

看到

修改8080为8088或是其他

修改端口后重启服务

查看端口命令

netstat-ano>c:

\netstat.log

4.8JDK内存优化

可能出现的问题:

1)日志中出现OutOfMemoryError

2)电子档案导入案件应用就down掉了

3)司法绩效不能正常采集

解决办法

当tomcat是用startup.bat方式启动时

$tomca\bin\catalina.bat

setJAVA_OPTS=%JAVA_OPTS%-server–Xms800m–Xmx800m-XX:

PermSize=64M-XX:

MaxPermSize=128m

当tomcat是用服务方式启动时

windows服务执行的是bin\tomcat.exe.他读取注册表中的值,而不是catalina.bat的设置.

解决办法:

修改注册表HKEY_LOCAL_MACHINE\SOFTWARE\ApacheSoftwareFoundation\TomcatServiceManager\Tomcat5\Parameters\JavaOptions

原值为

-Dcatalina.home="C:

\ApacheGroup\Tomcat5.0"

-Djava.endorsed.dirs="C:

\ApacheGroup\Tomcat5.0\common\endorsed"

-Xrs

加入–Xms512m–Xmx800m

重起tomcat服务,设置生效

PermGenspace的全称是PermanentGenerationspace,是指内存的永久保存区域OutOfMemoryError:

PermGenspace从表面上看就是内存益出,解决方法也一定是加大内存。

说说为什么会内存益出:

这一部分用于存放Class和Meta的信息,Class在被Load的时候被放入PermGenspace区域,它和存放Instance的Heap区域不同,GC(GarbageCollection)不会在主程序运行期对PermGenspace进行清理,所以如果你的APP会LOAD很多CLASS的话,就很可能出现PermGenspace错误。

这种错误常见在web服务器对JSP进行precompile的时候。

改正方法:

-Xms256m-Xmx256m-XX:

MaxNewSize=256m-XX:

MaxPermSize=256m

实例,以下给出1G内存环境下javajvm的参数设置参考:

JAVA_OPTS="-server-Xms800m-Xmx800m-XX:

PermSize=64M-XX:

MaxNewSize=256m-XX:

MaxPermSize=128m-Djava.awt.headless=true"

$tomca\bin\catalina.bat

setJAVA_OPTS=%JAVA_OPTS%-server–Xms800m–Xmx800m-XX:

PermSize=64M-XX:

MaxPermSize=128m

-Xms【初始化内存大小】

-Xmx【可以使用的最大内存】

要加“m”说明是MB,否则就是KB了,在启动tomcat时会报内存不足。

建议两个数值设置成一样大小且不超过可用物理内存的80%

4.9PerhapsJAVA_HOMEdoesnotpointtotheJDK的解决方法

Unabletofindajavaccompiler;PerhapsJAVA_HOMEdoesnotpointtotheJDK

tomcat_home,java_home都已经添加到了环境变量里,但启动jsp的时候却出现了以下的异常

Unabletofindajavaccompiler;com.sun.tools.javac.Mainisnotontheclasspath.

PerhapsJAVA_HOMEdoesnotpointtotheJDK

解决方案:

只要把JAVA_HOME/lib/tools.jar拷到TOMCAT_HOME\common\lib下,重启动Tomcat,OK

4.10修改tomcat默认界面

我在$tomcat/webapps/下建了个myjsp目录作为我网站的默认目录,在myjsp中有一个a.jsp文件,该文件要作为我网站的默认主页。

修改配置文件:

首先,修改$t

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1