tomcat配置文件server文件详解
tomcat安装及配置手册

Server.xml文件配置(3)
• 重要参数详解
connectionTimeout 指定超时的时间数(以毫秒为单位) Engine (表示指定service中的请求处理机,接收和处理来自Connector的 请求) defaultHost 指定缺省的处理请求的主机名,它至少与其中的 一个host元素的name属性值是一样的 Context (表示一个web应用程序,通常为WAR文件,关于WAR的具体信息见 servlet规范) docBase 应用程序的路径或者是WAR文件存放的路径 Path 表示此web应用程序的url的前缀,这样请求的url http://localhost:8080/path/****
Server.xml文件配置(4)
• 重要参数详解
reloadable 这个属性非常重要,如果为true,则tomcat会自动检测应用程序的 /WEB-INF/lib 和/WEB-INF/classes目录的变化,自动装载新的应用 程序,我们可以在不重起tomcat的情况下改变应用程序 host (表示一个虚拟主机) name 指定主机名 appBase 应用程序基本目录,即存放应用程序的目录 unpackWARs 如果为true,则tomcat会自动将WAR文件解压,否则不解压,直接从 WAR文件中运行应用程序
UNIX版本的安装步骤(Binary)
• • • • • • • • • 根据Tomcat版本从sun网站上下载j2se(jdk) 安装jdk 设置JAVA_HOME 设置classpath 下载Tomcat的二进制版本(.tar.gz或.zip) $CATALINA_HOME/bin/startup.sh运行Tomcat Startup程序运行结束后输入http://localhost:8080/ 出现帮助文档时,表示Tomcat成功启动 选择JSP Samples或Servlet Examples 表示支持了jsp及 Servlet • 以上步聚完成,则表示,成功安装了Tomcat
Tomcat中文详细手册

Tomcat中文手册Jakarta-Tomcat 简明中文版用户指南第一部分本文档提供关于Tomcat的基础信息.主要内容如下:Tomcat二进制版本安装与Tomcat相关的脚本的主要内容与server.xml相关的主要内容,Tomcat的主要配置文件如何设置Tomcat与宿主web服务器一起工作的说明如何应用Tomcat配置一个现实中的web站点希望此文档足以使新用户可以开始使用Tomcat.如找不到某方面的内容请(按以下顺序)查找Tomcat faq查找Tomcat包清单向Tomcat用户邮件列表发出问题如此疑问的答案不存在,我们鼓励把对疑问的解答放入Tomcat faq 或此文档.如对此文档有意见或建议,请发送到Tomcat的邮件列表.Getting StartedTomcat是一个带有jsp环境的servlet容器.servlet容器是一个根据用户的行为可以管理和激活servlet的运行时的shell.粗略地可以将servlet容器分为如下几类:独立的servlet容器内置有web服务器的一部分.指当使用基于Java的web服务器的情形,例如servlet容器是JavaWebServer的一个部分. 独立的servlet容器是Tomcat的默认模式.大多数的web服务器并非基于Java,因此,我们可以得出如下两种容器的模式.进程内的servlet容器servlet容器作为web服务器的插件和Java容器的实现.Web服务器插件在内部地址空间打开一个JVM(java virtual machine)使Java容器得以在内部运行.如有某个需要调用servlet的请求,,插件将取得对此请求的控制并将他传递(使用JNI)给Java容器.进程内容器对于多线程,单进程的服务器非常合适并且提供很好的运行速度,但伸缩性有所不足.进程外的servlet容器servlet容器运行于web服务器之外的地址空间且作为web服务器的插件和Java容器的实现的结合.web服务器插件和Java容器JVM使用IPC机制(通常是TCP/IP)进行通讯.当一个调用servlet 的请求到达时,插件将取得对此请求的控制并将其传递(使用IPC 等)给Java容器,进程外容器的反应时间或进程外容器引擎不如进程内容器,但进程外容器引擎在许多其他可比的范围内更好(伸缩性,稳定性等).Tomcat既可作为独立的容器(主要是用于开发与调试)又可作为对现有服务器的附加(当前支持Apache,IIS和Netscape服务器).即任何时候配置Tomcat你都必须决定如何应用他,如选择第二或第三种模式,你还需要安装一个web服务器接口.Tomcat与Jserv有何区别?Tomcat是Jserv吗?这是个常见的误解.Jserv是Servlet API2.0兼容并与Apache一起使用的容器.Tomcat是一个完全重写的并与Servlet API2.2和JSP1.1兼容的容器.Tomcat使用了一些为Jserv而写的代码,特别是Jserv的Apache 接口,但这是唯一的相同之处.怎样安装Tomcat的二进制版本?非常简单,只需:下载 zip/tar.gz 任何压缩文件,从/download/binindex.html处.解压缩此文件到某目录(如:foo).将会生成一子目录,名为”tomcat”.转换到”tomcat”目录设置一新的环境变量(TOMCAT_HOME)指向你安装的tomcat的目录WIN32平台,键入:“set TOMCAT_HOME=fo o\tomcat”Unix平台:如是bash/sh环境, 键入:”TOMCAT_HOME=foo/tomcat;export TOMCAT_HOME”如是tcsh环境, 键入:”setenv TOMCAT_HOME foo/tomcat”设置环境变量JAVA_HOME指向你JDK的目录,然后添加JAVA解释器到你的PATH环境变量.好了!现在可以运行TOMCAT并作为一个独立的Servlet容器(模式一)启动与关闭Tomcat使用”bin”目录中的脚本启动与关闭Tomcat.启动:uinx:bin/startup.shwin32:bin\startup关闭:unix:bin/shutdown.shwin32:bin\shutdownTomcat目录结构假设你已将Tomcat解压,你已得到下列目录结构:目录名--描述bin包含启动/关闭脚本conf包含不同的配置文件,包括 server.xml(Tomcat的主要配置文件)和为不同的Tomcat配置的web应用设置缺省值的文件web.xmldoc包含各种Tomcat文档lib包含Tomcat使用的jar文件.unix平台此目录下的任何文件都被加到Tomcat的classpath中logsTomcat摆放日志文件的地方srcServletAPI源文件.先别高兴,这些只有些必须在Servlet容器内实现的空接口和抽象类webapps包含web项目示例此外你可以Tomcat会创建如下目录:workTomcat自动生成,放置Tomcat运行时的临时文件(如编译后的JSP 文件).如在Tomcat运行时删除此目录.JSP页面将不能运行. classes你可以创建此目录来添加一些附加的类到类路径中.任何你加到此目录中的类都可在Tomcat的类路径中找到自身.Tomcat的脚本Tomcat是一个Java程序,因此在设置好几个环境变量后即可用命令行的方式运行.然而设置Tomcat使用的每个环境变量和如下的命令行参数乏味且易错.因此,Tomcat开发组提供了一些脚本使启动和关闭Tomcat变得轻松.注意:这些脚本仅仅是个便利的方法去启动和关闭Tomcat.你可修改他们来定制CLASSPATH,环境变量如PATH,LD_LIBRARY_PATH,等等,只要是生成一个正确的命令行即可.这些脚本是什么呢?下表列出对一般用户最重要的脚本.tomcat主脚本.设置合适的环境变量,包括CLASSPATH,TOMCAT_HOME和JAVA_HOME和用适合的命令行参数启动Tomcatstartup在后台启动Tomcat.”tomcat start”命令的替换方式shutdown关闭Tomcat.”tomcat stop”命令的替换方式对用户最重要的脚本是tomcat(tomcat.bat/tomcat.sh).其他Tomcat相关的脚本作为一个简单的面向单任务的指向Tomcat脚本(设置不同的命令行参数等)的入口.仔细考察tomcat.bat/tomcat.sh,它按以下步骤运行:在Unix下的步骤:如未指定,推测 TOMCAT_HOME如未指定,推测 JAVA_HOME设置CLASS_PATH包含:1.${TOMCAT_HOME}/classes目录(如果存在)2.${TOMCAT_HOME}/lib的一切内容3.${JAVA_HOME}/lib/tools.jar(此jar文件包含工具javac,我们需要javac处理jsp文件.运行带有设定Java环境变量的命令行参数的java命令,调入tomcat.home,和org.apache.tomcat.startup.Tomcat 作为启始类.同时也传递命令行参数到org.apache.tomcat.startup.Tomcat ,例如:执行start/stop/run 等的操作此Tomcat进程使用指向server.xml的路径,例如server.xml放置于etc/server_1.xml并且用户意图在后台启动apache,键入如下命令行:bin/tomcat.sh start –f /etc/server_1.xml在Win32下的步骤:(略)由此可见,win32版的tomcat.bat与Unix版的几乎一致.尤其在它不推测TOMCAT_HOME和JAVA_HOME的值,并且不将所有的jar文件放入类路径中.Tomcat的配置文件Tomcat的配置基于两个配置文件:1.server.xml - Tomcat的全局配置文件2.web.xml - 在Tomcat中配置不同的关系环境这一部分将讲述如何使用这些文件.我们不会包含web.xml的内部机制,这些内部机制深入到了Servlet API的细节,因此,我们将讨论涵盖servler.xml内容及web.xml在Tomcat关系环境中的用法.server.xmlserver.xml是Tomcat的主配置文件.完成两个目标:1 提供Tomcat组件的初始配置.2 说明Tomcat的结构,含义,使得Tomcat通过实例化组件完成起动及构建自身, 如在server.xml所指定的下表描述server.xml种的重要元素:Jakarta-Tomcat 简明中文版用户指南第二部分元素及其描述Serverserver.xml文件中最重要的元素.Server定义了一个Tomcat服务器.一般你不用对他担心太多.Server元素能包含Logger和ContextManager元素类型Logger此元素定义一个Logger对象,每个Logger都有一个名字去标识,也有一个纪录Logger的输出和冗余级别(描述此日志级别)和包含日志文件的路径.通常有servlet的Logger(ServletContext.log()处),JSP和Tomcat运行时的Logger.ContextManagerContextManager说明一套ContextInterceptor, RequestInterceptor , Context和他们的Connectors的配置及结构.ContextManager有几个随同提供的特性:1. 用来纪录调试信息的调试级别2. webapps/,conf/,logs/和所有已定义的环境的基本位置.用来使Tomcat可以在TOMCAT_HOME外的其他目录启动.3. 工作目录的名字ContextInterceptor&RequestInterceptor这些侦听器(interceptors)侦听具体发生在ContextManager中的事件.例如,ContextInterceptor侦听Tomcat的启动及终止事件,RequestInterceptor监视在它服务过程中用户请求需要通过的不同阶段.Tomcat的管理员不必知道太多关于侦听器的知识;另外,开发者应该知道这是如何在Tomcat中实现一个”全局”型的操作(例如安全性及每个请求日志)ConnectorConnector表示一个到用户的联接,不管是通过web服务器或直接到用户浏览器(在一个独立配置中).Connector负责管理Tomcat的工作线程和读/写连接到不同用户的端口的请求/响应.Connector的配置包含如下信息:1.句柄类2.句柄监听的TCP/IP端口3.句柄服务器端口的TCP/IP的backlog.稍后我们将在此文档中描述如何配置Connector.Context每个Context提供一个指向你放置你Web项目的Tomcat的下属目录。
Tomcat完整教程

第一章 Tomcat概述一、Tomcat简介TOMCAT是APACHE JAKARTA软件组织的一个子项目,TOMCAT是一个JSP/SERVLET容器,它是在SUN公司的JSWDK(JAVA SERVER WEB DEVELOPMENT KIT)基础上发展起来的一个JSP和SERVLET规范的标准实现,使用TOMCAT可以体验JSP和SERVLET的最新规范。
经过多年的发展,TOMCAT不仅是JSP和SERVLET规范的标准实现,而且具备了很多商业JAVA SERVLET容器的特性,并被一些企业用于商业用途。
1、TomcatTomcat在严格意义上并不是一个真正的应用服务器,它只是一个可以支持运行Serlvet/JSP 的Web容器,不过Tomcat也扩展了一些应用服务器的功能,如JNDI,数据库连接池,用户事务处理等等。
Tomcat 是一种具有JSP环境的Servlet容器。
Servlet容器是代替用户管理和调用Servlet的运行时外壳。
1.1 SERVLET容器负责处理客户请求。
当客户请求来到时,SERVLET容器获取请求,然后调用某个SERVLET,并把SERVLET的执行结果返回给客户。
当客户请求某个资源时,SERVLET容器使用SERVLETREQUEST对象把客户的请求信息封装起来,然后调用JAVA SERVLET API中定义的SERVLET的一些生命周期方法,完成SERVLET的执行,接着把SERVLET执行的要返回给客户的结果封装到SERVLETRESPONSE对象中,最后SERVLET容器把客户的请求发送给客户,完成为客户的一次服务过程。
1.2 TOMCAT的工作模式1.2.1 独立的SERVLET容器TOMCAT的默认工作模式,作为独立的SERVLET容器,是内置在WEB服务器中的一部分,是指使用基于JAVA的WEB服务器的情形。
其他两种方式是TOMCAT与其他服务器集成的方式:1.2.2 进程内的SERVLET容器SERVLET容器作为WEB服务器的插件和JAVA容器的实现。
tomcat配置文件server文件详解

一个虚拟主机 ) appBase应用程序基本目录,即存放应用程序的目录 unpackWARs如果为true ,则tomcat 会自动将WAR 文件解压,否则不解压,直接从WAR 文件中运行应用程序 Logger ( 表示日志,调试和错误信息)className指定logger 使用的类名,此类必须实现org 。
apache 。
catalina.Logger 接口 prefix 指定log 文件的前缀 suffix 指定log 文件的后缀 timestamp如果为true ,则log 文件名中要加入时间,如下例:localhost_log 。
2001—10-04.txt Realm ( 表示存放用户名,密码及role 的数据库)className指定Realm 使用的类名,此类必须实现org.apache 。
catalina.Realm 接口 Valve ( 功能与Logger 差不多,其prefix 和suffix 属性解释和Logger 中的一样)className 指定Valve 使用的类名,如用org.apache.catalina.valves 。
AccessLogValve 类可以记录应用程序的访问信息 directory指定log 文件存放的位置 pattern有两个值,common 方式记录远程主机名或ip 地址,用户名,日期,第一行请求的字符串,HTTP 响应代码,发送的字节数。
combined 方式比common 方式记录的值更多<Server>元素它代表整个容器,是Tomcat 实例的顶层元素.由org.apache 。
catalina.Server 接口来定义.它包含一个〈Service>元素.并且它不能做为任何元素的子元素.< Server port ="8005" shutdown ="SHUTDOWN” debug =”0" >1〉className指定实现org。
tomcat内存配置及配置参数详解

tomcat内存配置及配置参数详解1、jvm内存管理机制:1)堆(Heap)和⾮堆(Non-heap)内存按照官⽅的说法:“ 虚拟机具有⼀个堆,堆是运⾏时数据区域,所有类实例和数组的内存均从此处分配。
堆是在 Java 虚拟机启动时创建的。
”“在JVM中堆之外的内存称为⾮堆内存(Non-heap memory)”。
可以看出JVM主要管理两种类型的内存:堆和⾮堆。
简单来说堆就是Java代码可及的内存,是留给开发⼈员使⽤的;⾮堆就是JVM留给⾃⼰⽤的,所以⽅法区、JVM内部处理或优化所需的内存(如JIT编译后的代码缓存)、每个类结构(如运⾏时常数池、字段和⽅法数据)以及⽅法和构造⽅法的代码都在⾮堆内存中。
堆内存分配JVM初始分配的堆内存由-Xms指定,默认是物理内存的1/64;JVM最⼤分配的堆内存由-Xmx指定,默认是物理内存的1/4。
默认空余堆内存⼩于40%时,JVM就会增⼤堆直到-Xmx的最⼤限制;空余堆内存⼤于70%时,JVM会减少堆直到-Xms的最⼩限制。
因此服务器⼀般设置-Xms、-Xmx 相等以避免在每次GC 后调整堆的⼤⼩。
说明:如果-Xmx 不指定或者指定偏⼩,应⽤可能会导致ng.OutOfMemory错误,此错误来⾃JVM,不是Throwable的,⽆法⽤try...catch捕捉。
⾮堆内存分配JVM使⽤-XX:PermSize设置⾮堆内存初始值,默认是物理内存的1/64;由XX:MaxPermSize设置最⼤⾮堆内存的⼤⼩,默认是物理内存的1/4。
(还有⼀说:MaxPermSize缺省值和-server -client选项相关,-server选项下默认MaxPermSize为64m,-client选项下默认MaxPermSize为32m。
这个我没有实验。
)上⾯错误信息中的PermGen space的全称是Permanent Generation space,是指内存的永久保存区域。
Tomcat配置文件详解

Tomcat配置⽂件详解打开Tomcat的配置⽬录,我们会发现下⾯的配置⽂件:server.xml:Tomcat的主配置⽂件,包含Service, Connector, Engine, Realm, Valve, Hosts主组件的相关配置信息;web.xml:遵循Servlet规范标准的配置⽂件,⽤于配置servlet,并为所有的Web应⽤程序提供包括MIME映射等默认配置信息;context.xml:所有host的默认配置信息;logging.properties:⽇志相关配置;tomcat-users.xml:Realm认证时⽤到的相关⾓⾊、⽤户和密码等信息;Tomcat⾃带的manager默认情况下会⽤到此⽂件;在Tomcat中添加/删除⽤户,为⽤户指定⾓⾊等将通过编辑此⽂件实现;catalina.policy:Java相关的安全策略配置⽂件,在系统资源级别上提供访问控制的能⼒,以安全模式启动Tomcat会使⽤这个配置catalina.properties:Tomcat内部package的定义及访问相关的控制,也包括对通过类装载器装载的内容的控制;Tomcat在启动时会事先读取此⽂件的相关设置;jaspic-providers.xml:⽤户认证配置⽂件这篇博客就来介绍下这⼏个配置⽂件的作⽤,以及常⽤的配置选项。
server.xml配置server.xml是Tomcat的主配置⽂件,可以对Service, Connector, Engine, Realm, Valve, Hosts等主组件进⾏相关配置。
<!-- port: 接收shutdown指令的端⼝,默认仅允许通过本机访问,默认为8005;shutdown:发往此Server⽤于实现关闭tomcat实例的命令字符串,默认为SHUTDOWN;使⽤⽅式:telnet localhost 8005,输⼊SHUTDOWN即可关闭tomcat如果你不配置这两个属性,Tomcat的这种关闭机制还是会运⾏的。
tomcat 配置host的规则

在 Apache Tomcat 中,可以使用<Host>元素来配置虚拟主机。
虚拟主机允许在单个Tomcat 服务器上托管多个域名或主机名。
以下是关于 Tomcat 中配置虚拟主机的详细规则:
1.在 server.xml 中配置 Host 元素:
要配置虚拟主机,你需要编辑 Tomcat 的server.xml文件。
在该文件中,你可以添加多个<Host>元素,每个元素对应一个虚拟主机的配置。
例如:
2.Host 元素的属性:
–name属性指定虚拟主机的名称,通常是主机名或域名。
–appBase属性指定应用程序基础目录,它是该虚拟主机中部署的应用程序的根目录。
3.添加 Context 元素:
在<Host>元素中,你可以使用<Context>元素来配置特定的 Web 应用程序。
<Context>元素允许你指定上下文路径和应用程序的位置。
例如:
这将在虚拟主机中部署位于appBase目录下的当前应用程序。
4.配置多个虚拟主机:
你可以在server.xml文件中配置多个<Host>元素,每个元素对应一个虚拟主
机。
这允许你在同一 Tomcat 服务器上托管多个域名或主机名。
5.重启 Tomcat 服务器:
一旦你完成了server.xml文件的配置更改,你需要重新启动 Tomcat 服务器,以便让更改生效。
确保在配置虚拟主机时小心谨慎,避免出现冲突或错误配置。
配置完毕后,你可以使用不同的域名或主机名访问同一 Tomcat 服务器上的不同应用程序。
tomcat部署(配置文件)

tomcat部署(配置⽂件)⼀、启动tomcat服务器的⽅式1. 直接到tomcat服务器的bin⽬录下双击startup.bat2. 通过cmd进⼊bin⽬录,输⼊命令startup.bat1. 但这时会出现的问题是,服务器启动程序只是⼀闪⽽过,为什么呢?其实问题就是,没有Java的JDK,我们需要到环境变量配置系统变量JAVA_HOME。
我们都知道,1.5 以上的版本的JDK只需要配置path变量就可以了。
但是如果你想在机器上使⽤tomcat的话,你就必须配置JAVA_HOME,指向JDK的安装位置。
配置好之后我们就可以正常打开tomcat了,双击startup.bat,tomcat正常启动。
启动完成后,我们在浏览器地址栏上输⼊:http://localhost:8080,会得到以下的界⾯⼆、配置环境变量我们需要配置系统变量:ATALINA_BASE:指向tomcat的安装位置CATALINE_HOME:指向tomcat的安装位置Path:%CATALINA_HOME%\lib;%CATALINA_HOME%\bin三、配置tomcat的端⼝号tomcat的默认服务端⼝是8080。
可以通过配置⽂件来改变该服务端⼝,甚⾄通过修改配置⽂件让tomcat同时在多个端⼝提供服务tomcat的配置⽂件都放在conf⽬录下。
使⽤⽆格式⽂本编辑器打开该⽬录下的server.xml⽂件,定位到68⾏处<Connector port="8080" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" />其中,port="8080"就是web应⽤的服务端⼝,将8080改为任意端⼝,建议使⽤1024以上的端⼝,避免与公⽤端⼝冲突。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
配置文件一般都在conf文件夹里,主要有server.xml,context.xml,tomcat_user.xml,web.xml四个常用配置文件,server主要是服务器设置的,例如端口设置,路径设置。
context 里设置tomcat数据源,用来连接数据库。
tomcat_user主要是用户名和密码的设置。
web 是默认首页等等之类的设置。
元素名属性解释server port指定一个端口,这个端口负责监听关闭tomcat 的请求shutdown指定向端口发送的命令字符串service name指定service 的名字Connector(表示客户端和service之间的连接)port指定服务器端要创建的端口号,并在这个断口监听来自客户端的请求minProcessors服务器启动时创建的处理请求的线程数maxProcessors最大可以创建的处理请求的线程数enableLookups如果为true ,则可以通过调用request.getRemoteHost() 进行DNS 查询来得到远程客户端的实际主机名,若为false 则不进行DNS 查询,而是返回其ip 地址redirectPort指定服务器正在处理http 请求时收到了一个SSL 传输请求后重定向的端口号acceptCount指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理connectionTimeout指定超时的时间数( 以毫秒为单位)Engine(表示指定service 中的请求处理机,接收和处理来自Connector的请求)defaultHost指定缺省的处理请求的主机名,它至少与其中的一个host 元素的name 属性值是一样的Context(表示一个web 应用程序,通常为WAR 文件,关于WAR 的具体信息见servlet 规范)docBase应用程序的路径或者是WAR 文件存放的路径path表示此web 应用程序的url 的前缀,这样请求的url为http://localhost:8080/path/****reloadable这个属性非常重要,如果为true ,则tomcat 会自动检测应用程序的/WEB-INF/lib 和/WEB-INF/classes 目录的变化,自动装载新的应用程序,我们可以在不重起tomcat 的情况下改变应用程序host(表示name指定主机名一个虚拟主机 ) appBase 应用程序基本目录,即存放应用程序的目录 unpackWARs如果为true ,则tomcat 会自动将WAR 文件解压,否则不解压,直接从WAR 文件中运行应用程序 Logger ( 表示日志,调试和错误信息)className指定logger 使用的类名,此类必须实现org.apache.catalina.Logger 接口 prefix 指定log 文件的前缀 suffix 指定log 文件的后缀 timestamp如果为true ,则log 文件名中要加入时间,如下例:localhost_log.2001-10-04.txt Realm ( 表示存放用户名,密码及role 的数据库)className指定Realm 使用的类名,此类必须实现org.apache.catalina.Realm 接口 Valve ( 功能与Logger 差不多,其prefix 和suffix 属性解释和Logger 中的一样)className指定Valve 使用的类名,如用org.apache.catalina.valves.AccessLogValv e 类可以记录应用程序的访问信息 directory指定log 文件存放的位置 pattern有两个值,common 方式记录远程主机名或ip 地址,用户名,日期,第一行请求的字符串,HTTP 响应代码,发送的字节数。
combined 方式比common 方式记录的值更多<Server>元素它代表整个容器,是Tomcat 实例的顶层元素.由org.apache.catalina.Server 接口来定义.它包含一个<Service>元素.并且它不能做为任何元素的子元素.< Server port ="8005" shutdown ="SHUTDOWN" debug ="0" >1>className 指定实现org.apache.catalina.Server 接口的类.默认值为org.apache.catalina.core.StandardServer2>port指定Tomcat监听shutdown命令端口.终止服务器运行时,必须在Tomcat服务器所在的机器上发出shutdown命令.该属性是必须的.3>shutdown指定终止Tomcat服务器运行时,发给Tomcat服务器的shutdown监听端口的字符串.该属性必须设置<Service>元素该元素由org.apache.catalina.Service接口定义,它包含一个<Engine>元素,以及一个或多个<Connector>,这些Connector元素共享用同一个Engine元素<Service name="Catalina"><Service name="Apache">第一个<Service>处理所有直接由Tomcat服务器接收的web客户请求.第二个<Service>处理所有由Apahce服务器转发过来的Web客户请求1>className 指定实现org.apahce.catalina.Service接口的类.默认为org.apahce.catalina.core.StandardService2>name定义Service的名字<Engine>元素每个Service元素只能有一个Engine元素.元素处理在同一个<Service>中所有<Connector>元素接收到的客户请求.由org.apahce.catalina.Engine接口定义.<Engine name="Catalina"defaultHost="localhost"debug="0">1>className指定实现Engine接口的类,默认值为StandardEngine2>defaultHost指定处理客户的默认主机名,在<Engine>中的<Host>子元素中必须定义这一主机3>name定义Engine的名字在<Engine>可以包含如下元素<Logger>, <Realm>, <Value>, <Host><Host>元素它由Host接口定义.一个Engine元素可以包含多个<Host>元素.每个<Host>的元素定义了一个虚拟主机.它包含了一个或多个Web应用.<Host name="localhost"debug="0"appBase="webapps"unpackWARs="true"auto Deploy="true">1>className指定实现Host接口的类.默认值为StandardHost2>appBase指定虚拟主机的目录,可以指定绝对目录,也可以指定相对于<CATALINA_HOME>的相对目录.如果没有此项,默认为<CATALINA_HOME>/webapps3>autoDeploy如果此项设为true,表示Tomcat服务处于运行状态时,能够监测appBase下的文件,如果有新有web应用加入进来,会自运发布这个WEB应用4>unpackWARs如果此项设置为true,表示把WEB应用的WAR文件先展开为开放目录结构后再运行.如果设为false将直接运行为WAR文件5>alias指定主机别名,可以指定多个别名6>deployOnStartup如果此项设为true,表示Tomcat服务器启动时会自动发布appBase目录下所有的Web应用.如果Web应用中的server.xml没有相应的<Context>元素,将采用Tomcat默认的Context 7>name定义虚拟主机的名字在<Host>元素中可以包含如下子元素<Logger>, <Realm>, <Value>, <Context><Context>元素它由Context接口定义.是使用最频繁的元素.每个<Context元素代表了运行在虚拟主机上的单个Web应用.一个<Host>可以包含多个<Context>元素.每个web应用有唯一的一个相对应的Context代表web应用自身.servlet容器为第一个web应用创建一个ServletContext对象.<Context path="/sample"docBase="sample"debug="0"reloadbale="true">1>className指定实现Context的类,默认为StandardContext类2>path指定访问Web应用的URL入口,注意/myweb,而不是myweb了事3>reloadable如果这个属性设为true, Tomcat服务器在运行状态下会监视在WEB-INF/classes和Web-INF/lib目录CLASS文件的改运.如果监视到有class文件被更新,服务器自重新加载Web应用3>cookies指定是否通过Cookies来支持Session,默认值为true4>useNaming指定是否支持JNDI,默认值为了true在<Context>元素中可以包含如下元素<Logger>, <Realm>, <Resource>, <ResourceParams><Connector>元素由Connector接口定义.<Connector>元素代表与客户程序实际交互的给件,它负责接收客户请求,以及向客户返回响应结果.<Connector port="8080"maxThread="50"minSpareThreads="25"maxSpareThread ="75"enableLookups="false"redirectPort="8443"acceptCount="100"debug="0"connectionTimeout="20000"disableUploadTimeout="true"/><Connection port="8009"enableLookups="false"redirectPort="8443"debug="0"protocol="AJP/1.3"/>第一个Connector元素定义了一个HTTP Connector,它通过8080端口接收HTTP请求;第二个Connector元素定义了一个JD Connector,它通过8009端口接收由其它服务器转发过来的请求.Connector元素共用属性1>className指定实现Connector接口的类2>enableLookups如果设为true,表示支持域名解析,可以把IP地址解析为主机名.WEB应用中调用request.getRemoteHost方法返回客户机主机名.默认值为true3>redirectPort指定转发端口.如果当前端口只支持non-SSL请求,在需要安全通信的场命,将把客户请求转发至SSL的redirectPort端口HttpConnector元素的属性1>className实现Connector的类2>port设定Tcp/IP端口,默认值为8080,如果把8080改成80,则只要输入http://localhost即可因为TCP/IP的默认端口是803>address如果服务器有二个以上ip地址,此属性可以设定端口监听的ip地址.默认情况下,端口会监听服务器上所有的ip地址4>bufferSize设定由端口创建的输入流的缓存大小.默认值为2048byte5>protocol设定Http协议,默认值为HTTP/1.16>maxThreads设定在监听端口的线程的最大数目,这个值也决定了服务器可以同时响应客户请求的最大数目.默认值为2007>acceptCount设定在监听端口队列的最大客户请求数量,默认值为10.如果队列已满,客户必须等待.8>connectionTimeout定义建立客户连接超时的时间.如果为-1,表示不限制建立客户连接的时间JkConnector的属性1>className实现Connector的类2>port设定AJP端口号3>protocol必须设定为AJP/1.3=================================================================== =====================<Server>元素它代表整个容器,是Tomcat实例的顶层元素.由org.apache.catalina.Server接口来定义.它包含一个<Service>元素.并且它不能做为任何元素的子元素.<Server port="8005" shutdown="SHUTDOWN" debug="0">1> className指定实现org.apache.catalina.Server接口的类.默认值为org.apache.catalina.core.StandardServer2> port指定Tomcat监听shutdown命令端口.终止服务器运行时,必须在Tomcat服务器所在的机器上发出shutdown命令.该属性是必须的.3> shutdown指定终止Tomcat服务器运行时,发给Tomcat服务器的shutdown监听端口的字符串.该属性必须设置<Service>元素该元素由org.apache.catalina.Service接口定义,它包含一个<Engine>元素,以及一个或多个<Connector>,这些Connector元素共享用同一个Engine元素<Service name="Catalina"><Service name="Apache">第一个<Service>处理所有直接由Tomcat服务器接收的web客户请求.第二个<Service>处理所有由Apahce服务器转发过来的Web客户请求1> className 指定实现org.apahce.catalina.Service接口的类.默认为org.apahce.catalina.core.StandardService2> name定义Service的名字<Engine>元素每个Service元素只能有一个Engine元素.元素处理在同一个<Service>中所有<Connector>元素接收到的客户请求.由org.apahce.catalina.Engine接口定义.<Engine name="Catalina" defaultHost="localhost" debug="0">1> className指定实现Engine接口的类,默认值为StandardEngine2> defaultHost指定处理客户的默认主机名,在<Engine>中的<Host>子元素中必须定义这一主机3> name定义Engine的名字在<Engine>可以包含如下元素<Logger>, <Realm>, <Value>, <Host><Host>元素它由Host接口定义.一个Engine元素可以包含多个<Host>元素.每个<Host>的元素定义了一个虚拟主机.它包含了一个或多个Web应用.<Host name="localhost" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true">1> className指定实现Host接口的类.默认值为StandardHost2> appBase指定虚拟主机的目录,可以指定绝对目录,也可以指定相对于<CATALINA_HOME>的相对目录.如果没有此项,默认为<CATALINA_HOME>/webapps3> autoDeploy如果此项设为true,表示Tomcat服务处于运行状态时,能够监测appBase下的文件,如果有新有web应用加入进来,会自运发布这个WEB应用4> unpackWARs如果此项设置为true,表示把WEB应用的WAR文件先展开为开放目录结构后再运行.如果设为false将直接运行为WAR文件5> alias指定主机别名,可以指定多个别名6> deployOnStartup如果此项设为true,表示Tomcat服务器启动时会自动发布appBase目录下所有的Web应用.如果Web应用中的server.xml没有相应的<Context>元素,将采用Tomcat默认的Context7> name定义虚拟主机的名字在<Host>元素中可以包含如下子元素<Logger>, <Realm>, <Value>, <Context><Context>元素它由Context接口定义.是使用最频繁的元素.每个<Context元素代表了运行在虚拟主机上的单个Web应用.一个<Host>可以包含多个<Context>元素.每个web应用有唯一的一个相对应的Context代表web应用自身.servlet容器为第一个web应用创建一个ServletContext对象.<Context path="/sample" docBase="sample" debug="0" reloadbale="true">1> className指定实现Context的类,默认为StandardContext类2> path指定访问Web应用的URL入口,注意/myweb,而不是myweb了事3> reloadable如果这个属性设为true, Tomcat服务器在运行状态下会监视在WEB-INF/classes和Web-INF/lib目录CLASS文件的改运.如果监视到有class文件被更新,服务器自重新加载Web应用3> cookies指定是否通过Cookies来支持Session,默认值为true4> useNaming指定是否支持JNDI,默认值为了true在<Context>元素中可以包含如下元素<Logger>, <Realm>, <Resource>, <ResourceParams>Connector元素由Connector接口定义.<Connector>元素代表与客户程序实际交互的给件,它负责接收客户请求,以及向客户返回响应结果.<Connector port="8080" maxThread="50" minSpareThreads="25" maxSpareThread="75" enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" disableUploadTimeout="true" /><Connection port="8009" enableLookups="false" redirectPort="8443" debug="0" protocol="AJP/1.3" />第一个Connector元素定义了一个HTTP Connector,它通过8080端口接收HTTP请求;第二个Connector元素定义了一个JD Connector,它通过8009端口接收由其它服务器转发过来的请求.Connector元素共用属性1> className指定实现Connector接口的类2> enableLookups如果设为true,表示支持域名解析,可以把IP地址解析为主机名.WEB应用中调用request.getRemoteHost方法返回客户机主机名.默认值为true3> redirectPort指定转发端口.如果当前端口只支持non-SSL请求,在需要安全通信的场命,将把客户请求转发至SSL的redirectPort端口HttpConnector元素的属性1> className实现Connector的类2> port设定Tcp/IP端口,默认值为8080,如果把8080改成80,则只要输入http://localhost即可因为TCP/IP的默认端口是803> address如果服务器有二个以上ip地址,此属性可以设定端口监听的ip地址.默认情况下,端口会监听服务器上所有的ip地址4> bufferSize设定由端口创建的输入流的缓存大小.默认值为2048byte5> protocol设定Http协议,默认值为HTTP/1.16> maxThreads设定在监听端口的线程的最大数目,这个值也决定了服务器可以同时响应客户请求的最大数目.默认值为2007> acceptCount设定在监听端口队列的最大客户请求数量,默认值为10.如果队列已满,客户必须等待.8> connectionTimeout定义建立客户连接超时的时间.如果为-1,表示不限制建立客户连接的时间JkConnector的属性1> className实现Connector的类2> port设定AJP端口号3> protocol必须设定为AJP/1.3。