tomcat
的目录结构如下:
目录名
|
简介
|
bin
|
存放启动和关闭
tomcat
脚本
|
conf
|
包含不同的配置文件
,server.xml(Tomcat
的主要配置文件
)
和
web.xml
|
work
|
存放
jsp
编译后产生的
class
文件
|
webapps
|
存放应用程序示例,以后你要部署的应用程序也要放到此目录
|
logs
|
存放日志文件
|
lib
|
这三个目录主要存放
tomcat
所需的
jar
文件
|
server.xml
配置详解
元素名
|
属性
|
解释 |
server
|
port
shutdown
|
指定一个端口,这个端口负责监听关闭
tomcat
的请求
|
GlobalNamingResources
|
name |
服务器的全局
JNDI
资源,可以有子标签
<Resource></Resource>
|
Executor
|
name |
线程池名称,名称必须唯一
一个或多个
Connector
可以共享此线程池
|
|
(boolean)daemon |
是否是守护程序运行,默认为true |
|
namePrefix |
线程的名字前缀,用来标记线程名字的,这样每个线程就用这个前缀加上线程编号了,比如 catalina-exec-1 、catalina-exec-2 |
|
(int)maxThreads |
允许的最大线程池里的线程数量,默认是200,大的并发应该设置的高一些,反正只是限制而已,不占用资源 |
|
(int)minSpareThreads |
最小的保持活跃的线程数量,默认是
25.
这个要根据负载情况自行调整了。太小了就影响反应速度,太大了白白占用资源
|
|
(int) maxIdleTime |
线程空闲时间,超过最小活跃线程数量的线程,如果空闲时间超过这个设置后,会被关别。默认是1分钟。 |
|
(int)threadPriority |
线程的等级。默认是
Thread.NORM_PRIORITY
|
Connector |
port
|
指定服务器端要创建的端口号,并在这个断口监听来自客户端的请求
|
|
protocol |
指定通讯协议 |
|
executor |
指定使用的线程池 |
|
minProcessors
|
服务器启动时创建的处理请求的线程数,
初始化时创建的线程数 |
|
maxProcessors
|
最大可以创建的处理请求的线程数 |
|
(boolean)allowTrace
|
是否启用http跟踪,默认为false |
|
(boolean)emptySessionPath
|
如果设置为true,则所有的session cookies的路径都为/,默认为false |
|
(boolean)enableLookups
|
如果为
true
,则可以通过调用
request.getRemoteHost()
进行
DNS
查询来得到远程客户端的实际主机名,若为
false
则不进行
DNS
查询,而是返回其
ip
地址,默认为true
|
|
maxPostSize
|
默认2097152字节(2m) |
|
maxSavePostSize
|
默认4096字节(4k) |
|
proxyName
|
如果配置的是proxy模式,则request.getServerName()
返回这里配置的值 |
|
proxyPort
|
如果配置的是proxy模式,则request.getServerPort()
返回这里配置的值 |
|
redirectPort
|
指定服务器正在处理http请求时收到了一个SSL传输请求后重定向的端口号 |
|
SSLEnabled
|
是否启用ssl |
|
scheme
|
默认http
|
|
secure
|
|
|
URIEncoding
|
字符编码,默认ISO-8859-1 |
|
useBodyEncodingForURI
|
表明如果contentType指定的编码用于URI查询参数,则不用URIEncoding。与Tomcat4.1.x兼容。默认为false |
|
useIPVHosts
|
默认false |
|
xpoweredBy
|
默认false |
http额外属性 |
|
|
|
acceptCount
|
指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理,默认10
|
|
address
|
默认为机器的所有ip |
|
bufferSize
|
默认2048字节(2k),Connector创建的输入流的大小,提高这个值可以提升性能,增加内存消耗。 |
|
compressableMimeType
|
使用HTTP压缩的MIME类型,使用逗号分割,默认值是text/html,text/xml,text/plain |
|
compression
|
为了节省带宽,可以将这个值设置为on,从而启用HTTP/1.1 GZIP压缩。off关闭压缩,forces强制使用压缩,默认值是off。 |
|
compressionMinSize |
启用压缩的输出内容大小,这里面默认为
2KB
|
|
noCompressionUserAgents
|
不启用压缩的浏览器,默认为空 |
|
connectionLinger
|
默认-1 |
|
connectionTimeout |
指定超时的时间数
(
以毫秒为单位
),默认60000(1分钟)
|
|
keepAliveTimeout
|
默认值与connectionTimeout相同 |
|
maxKeepAliveRequests
|
默认值100 |
|
disableUploadTimeout
|
默认为true |
|
maxHttpHeaderSize
|
默认值为4096 (4 KB). |
|
maxThreads
|
允许的最大线程池里的线程数量,默认值40,如果指定了
executor,则该值无效 |
|
maxProcessors |
最大可以创建的处理请求的线程数
|
|
debug |
|
AJP配置:
AJP Connector是一个基于AJP协议的
Connector组件,用于apahce和tomcat的集成使用。
这个组件可与Engine
.结合使用,达到负载均衡。
公共属性Common Attributes,使用ajp,必须指定以下属性
|
Connector |
protocol |
指定通讯协议 |
|
(boolean)allowTrace
|
是否启用http跟踪,默认为false |
|
(boolean)emptySessionPath
|
如果设置为true,则所有的session cookies的路径都为/,默认为false |
|
(boolean)enableLookups
|
如果为
true
,则可以通过调用
request.getRemoteHost()
进行
DNS
查询来得到远程客户端的实际主机名,若为
false
则不进行
DNS
查询,而是返回其
ip
地址,默认为true
|
|
maxPostSize
|
容器在
Form URL
参数解析过程中能够处理的
POST
最大长度,以字节计算。该属性设置为小于或等于
0
,限制取消。
默认2097152字节(2m) |
|
maxSavePostSize
|
默认4096字节(4k) |
|
proxyName
|
如果配置的是proxy模式,则request.getServerName()
返回这里配置的值 |
|
proxyPort
|
如果配置的是proxy模式,则request.getServerPort()
返回这里配置的值 |
|
redirectPort
|
指定服务器正在处理http请求时收到了一个SSL传输请求后重定向的端口号 |
|
request.registerRequests
|
该属性控制是否为了
Connector
的
JMX
监控记录请求。缺省情况下启用,但是禁用它可以节省一点内存
|
|
scheme
|
默认http
|
|
secure
|
|
|
URIEncoding
|
字符编码,默认ISO-8859-1 |
|
useBodyEncodingForURI
|
表明如果contentType指定的编码用于URI查询参数,则不用URIEncoding。与Tomcat4.1.x兼容。默认为false |
|
useIPVHosts
|
默认false |
|
xpoweredBy
|
默认false |
|
AJP 1.3支持的实现 |
Connector
|
address
|
默认为机器的所有ip |
|
port
|
指定服务器端要创建的端口号,并在这个断口监听来自客户端的请求
|
|
backlog
|
指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理,默认10
|
|
bufferSize
|
输出缓冲区的大小,小于等于0时,输出缓冲被禁用,默认为-1
|
|
executor
|
指定使用的线程池 |
|
connectionTimeout |
Connector
接收连接后,等待提供请求
URI
的时间
.
缺省值为无限长(也就是没有超时)
.
|
|
keepAliveTimeout
|
默认值与connectionTimeout相同,在关闭链接前等待另一个AJP请求的时间,单位为毫秒 |
|
maxThreads
|
允许的最大线程池里的线程数量,默认值40,如果指定了
executor,则该值无效 |
|
tomcatAuthentication
|
如果设置为true,验证在JBoss Web中完成。否则,主体在在本地web服务器被验证后,传递到JBoss Web中授权。缺省值为true。 |
|
tcpNoDelay
|
该值为
true
,服务器的
socket
将使用
TCP_NO_DELAY
选项,大部分情况下该选
项可以提升性能。缺省值为
true
。
|
无嵌套组件Nested Components 。
host配置:
元素名
|
属性
|
解释 |
Host |
name |
指定主机名 |
|
appBase |
应用程序基本目录,即存放应用程序的目录
|
|
autoDeploy
|
如果此项设为true,表示当Tomcat服务器处于运行状态时,能够监测appBase下的文件,如果有新的Web应用加入进来,会自动发布这个Web应用.
默认为true
|
|
backgroundProcessorDelay
|
默认为-1 |
|
className
|
指定
Realm
使用的类名,此类必须实现
org.apache.catalina.Realm
接口
密码及
role
的数据库
)
|
|
deployOnStartup
|
如果此项设为true,表示Tomcat服务器启动时会自动发布appBase目录下的所有Web应用,如果Web应用在server.xml中没有相应的<Context>元素,将采用Tomcat默认的Context
默认为true
|
以下为Standard Implementation |
|
deployXML
|
默认为true |
|
errorReportValveClass
|
|
|
unpackWARs
|
如果为
true
,则
tomcat
会自动将
WAR
文件解压,否则不解压,直接从
WAR
文件中运行应用程序
|
|
workDir
|
|
|
Alias |
指定虚拟主机的别名,可以指定多个别名. |
|
xmlValidation
|
|
|
xmlNamespaceAware
|
|
Context配置:
元素名
|
属性
|
解释 |
Context |
path |
虚拟目录名称,默认项目配""
|
|
docBase |
物理路径
|
|
reloadable
|
如果希望Catalina监视/WEB-INF/classes/和/WEB-INF/lib下面的类是否发生变化,在发生变化的时候自动重载web
application,设为true。这个特征在开发阶段很有用,但也大大增加了服务器的开销。因此,在发布以后,不推荐使用。但是,你可以使用
Manager应用在必要的时候触发应用的重载。
|
|
backgroundProcessorDelay
|
这个值代表在context及其子容器(包括所有的wrappers)上调用backgroundProcess方法的延时,以秒为单位。如果延时值非
负,子容器不会被调用,也就是说子容器使用自己的处理线程。如果该值为正,会创建一个新的线程。在等待指定的时间以后,该线程在主机及其
子容器上调用backgroundProcess方法。context利用后台处理session过期,监测类的变化用于重新载入。如果没有指定,该属性
的缺省值是-1,说明context依赖其所属的Host的后台处理。
|
|
className
|
实现的Java类名。该类必须实现org.apache.catalina.Context接口。如果没有指定,使用标准实现(在下面定义)
|
|
deployOnStartup
|
如果此项设为true,表示Tomcat服务器启动时会自动发布appBase目录下的所有Web应用,如果Web应用在server.xml中没有相应的<Context>元素,将采用Tomcat默认的Context
默认为true
|
|
cookies |
如果想利用cookies来传递session identifier(需要客户端支持cookies),设为ture。否则为false,这种情况下只能依靠URL Rewriting传递session identifier。
|
|
crossContext |
如果想在应用内调用ServletContext.getContext()来返回在该虚拟主机上运行的其他web
application的request
dispatcher,设为true。在安全性很重要的环境中,设为false,使得getContext()总是返回null。缺省值为false。
|
|
override |
如果想利用该Context元素中的设置覆盖DefaultContext中相应的设置,设为true。缺省情况下使用DefaultContext中的设置。
|
|
privileged |
设为true,允许context使用container servlets,比如manager servlet。
|
|
wrapperClass |
org.apache.catalina.Wrapper实现类的名称,用于该Context管理的servlets。如果没有指定,使用标准的缺省值。 |
分享到:
相关推荐
对server.xml的配置信息项进行详解
《Tomcat-server.xml配置详解》 Tomcat作为一款广泛应用的Java EE服务器,其核心配置文件`tomcat-server.xml`对于优化服务器性能、管理和监控服务至关重要。本文将详细解析`tomcat-server.xml`中的主要元素和属性,...
《Tomcat Server.xml配置详解》 Tomcat作为流行的Java应用服务器,其核心配置文件`server.xml`对于理解和管理服务器的运行至关重要。本文将详细解析`server.xml`中的关键元素、属性及其含义,帮助读者深入理解...
tomcat server.xml配置说
【Tomcat的Server.xml配置详解】 Tomcat作为广泛使用的Java Servlet容器,其核心配置文件`server.xml`扮演着至关重要的角色。它定义了Tomcat服务器的结构和行为,包括Server、Service、Engine、Host和Context等组件...
根据提供的文件信息,可以看出文档内容是关于Tomcat服务器的配置文件server.xml的详细解读。server.xml是Tomcat中的核心配置文件,负责配置整个服务器的运行参数和连接器信息。下面将对Tomcat server.xml中可能包含...
在深入探讨Tomcat服务器的`server.xml`配置文件之前,我们先简要了解下Tomcat。Apache Tomcat是一个开源的Servlet容器,主要用来运行Java Servlet和JavaServer Pages(JSP)。`server.xml`是Tomcat的核心配置文件,...
tomcat中server[2].xml详解.xml tomcat中server[2].xml详解.xml
《Tomcat服务器的Server.xml配置详解》 Tomcat作为一款广泛应用的开源轻量级Web应用服务器,其核心配置文件Server.xml对于服务器的管理和优化至关重要。本文将深入解析Server.xml的结构和配置要素,帮助读者更好地...
### Tomcat 的 server.xml 文件详解 #### 文件内容解读 `server.xml` 是 Apache Tomcat 服务器的核心配置文件之一,它定义了 Tomcat 的整体运行环境、连接器、服务、主机等核心组件。深入理解 `server.xml` 文件...
根据提供的文件信息,内容涉及到Apache Tomcat的配置文件server.xml的详细解析。server.xml是Tomcat服务器的核心配置文件,它定义了Tomcat服务器的各种组件,如连接器(Connector)、服务(Service)、引擎(Engine...
### Tomcat Server.xml配置详解 在探讨`server.xml`配置文件之前,让我们先明确一点:`server.xml`是Apache Tomcat服务器的核心配置文件,它控制着Tomcat的启动、运行和停止过程。对于任何希望深入理解和优化Tomcat...
### Tomcat Server.xml 配置详解 #### 一、引言 在当今互联网技术领域,Apache Tomcat作为一款开源的应用服务器,在Java Web开发中扮演着举足轻重的角色。它支持运行Servlet和JSP,是Java Web应用部署的常用平台之...
总之,`server.xml` 文件是 Tomcat 配置的核心,通过精细调整这些元素的属性,我们可以定制化 Tomcat 服务器的行为,以满足特定的应用场景需求。理解并熟练掌握 `server.xml` 的配置是优化和管理 Tomcat 服务器性能...
《深入解析Tomcat Server.xml配置文件》 在Java Web应用的开发与部署中,Apache Tomcat作为一款开源的Servlet容器,扮演着至关重要的角色。它的灵活性和可定制性,很大程度上依赖于`server.xml`配置文件。本文将对`...
### server.xml常用配置详解 #### 一、整体格式与结构 `server.xml` 文件是 Tomcat 服务器的核心配置文件之一,主要用于控制 Tomcat 的运行。此外,在 JBoss 服务器中,其 Web 容器实际上是基于 Tomcat 的封装,...
### Tomcat Web.xml 详解 #### 一、概述 `web.xml` 文件是 Java Web 应用中的核心配置文件之一,它定义了应用程序的各种配置信息,包括但不限于 Servlet 的配置、过滤器(Filter)的配置、监听器(Listener)的...
《ArcGIS Server与Tomcat的跨域配置详解》 在当今的Web开发环境中,跨域资源共享(CORS)已经成为一个重要的议题,特别是在GIS(地理信息系统)应用中,如ArcGIS Server与Tomcat集成的场景。ArcGIS Server是Esri...