tomcat---server.xml详解

tomcat---server.xml详解_第1张图片

Connector

属性 含义 默认值
port Connector监听请求的端口号 0
protocol 使用的协议 HTTP/1.1
connectionTimeout 从接受客户端请求TCP socket的时刻开始,到请求方发现被发送到Tomcat为止,Connector可以等待的(可设定的)时间长短。默认为1分钟。 60000
redirectPort 如果该Connector是针对普通的HTTP(非-SSL),并为匹配的安全约束要求的SSL传输接收了一个请求,则Tomcat将给指定的端口号执行重定向。 443
maxHttpHeaderSize

tomcat可以传输与接收的http请求或响应标题的最大长度,以字节为单位

说明:有时候传递过长的信息,后台接收到的参数会被截断就是因为这个限制

8192(8K)
URIEncoding 一旦是URL解码,则为URI使用字符编码 ISO8859-1
maxPostSizePOST 请求参数的最大值,将由容器自动分析。 2097152(2MB)
maxSavePostSizePOST 请求参数的最大值,在认证过程中将由容器保存。 4096(4kB)
maxThreads 该Connector应并发运行的请求处理线程最大数。如果把该值设得太高,则服务器将无法阻挡线程调度且需要太长的时间才能完成请求。如果设置太小,则Tomcat将不能充分利用服务器计算机的硬件资源,而请求的时间比所需要的时间要长。 200
connectionTimeout 从接受客户端请求TCP socket的时刻开始,到请求方发现被发送到Tomcat为止,Connector可以等待的(可设定的)时间长短。默认为1分钟。 60000
connectionUploadTimeout 在Tomcat处理请求的时候,Connector默认一直打开请求socket,直到过了1分钟的connectionTimeout为止。此时,Connector将关闭socket。但是,如果请求的内容是一个长期运行的servlet,如文件上传,则会引发问题。在请求映射到servlet的时侯,Tomcat将使用connectionUploadTime-out属性以毫秒为单位指定的较长的时延。默认30000毫秒(3分钟)。 300000
disableUploadTimeout 即使是对很长的servlet请求,如上传,Tomcat还应该使用常规的connectionTimeout处理请求socket的连接吗?设置disableUploadTimeout为true,允许不用Connector关闭连接而继续为长请求的servlet服务。将其设为false意味着在处理对servlet的请求时将使用很长的连接时延(connectionUploadTimeout的值),同时意味着对所有类型的请求将使用
connectionTimeout属性中指定的很小连接时延。
在Connector实现与Tomcat版本之间,该属性的默认值是不一致的。强烈推荐将其显式设置为true或false
connectionLinger 当这一Connector关闭了客户端请求soket的连接后,则该连接将按配置参数延时一定数量的时间。将该属性设置为要延时的时间数(以毫秒为单位),或者设置为-1,表示禁止拖延。 -1
     

 

 

executor

该元素 可用于tomcat 6.0.11以及更高版本.允许您为一个service的所有connector配置一个共享线程池.在运行多个connector的状况下,这样处理非常有用,而且每个connector必须设置一个maxThread值,但不希望tomcat实例并发使用的线程最大数永远与所有连接器maxThread数量的总和一样高.这是因为如果这样处理,则需要占用太多的硬件资源.相反,您可以使用executor元素配置一个共享线程池,而且所有的connector都能共享这个线程池

为了让连接器使用executor的线程池,则在server.xml文件中,executor必须列示在connector之前.

executor属性
属性 含义 默认值
className Executor实现的完全限定的Java类名 org.apache.catalina.core.StandardThread-
Executor
daemon 决定这一Executor的线程是否应该为后台线程。false如果JVM中的所有其他非后台线程都结束了,则后台线程结束。 false
name 共享线程池的名字。这是Connector为了共享线程池要引用的名字。该名字必须唯一 None;需要的参数
namePrefix 在JVM上,每个运行线程都可以有一个name字符串。这一属性为线程池中每个线程的name字符串设置了一个前缀,Tomcat将把线程号追
加到这一前缀的后面
tomcat-exec-
maxIdleTime 在Tomcat关闭一个空闲线程之前,允许空闲线程持续的时间(以毫秒为单位)。只有当前活跃的线程数大于minSpareThread的值,才会关闭空闲线程 60000(一分钟)
maxThreads 该线程池可以容纳的最大线程数 200
minSpareThreads Tomcat应该始终打开的最小不活跃线程数 25
threadpriority 整数值,表示线程池中所有线程的线程优先权。要获得有关线程优先权的详细解释,参见
java.lang.Thread的Java 1.5(及更高版本)Javadoc网页
Thread.NORM_PRIORITY

host

Host元素代表一个主机(或者虚拟主机)计算机,其请求在给定的Engine中进行处理.

属性名 使用对象 含义 默认值
appBase all 这一Host的Web应用程序目录的路径(Web应用程序和/或WAR文件驻留的目录)。可以是CATALINAHOME的相对路径,或者是绝对路径 无,必要的元素
autoDeploy all Boolean型表值,在Tomcat正运行时,决定Tomcat是否自动部署最佳到Host的appBase目录中的新Web应用程序。如果该属性被设置为true,则在Tomcat正运行时,在appBase目录中追加Web应用程序的解包目录或WAR文件,则Tomcat将立即对其实现部署。请参见第3章有关autoDeploy的详细信息与示例 true
className all Host容器实现的完全限定类名。该类必须实现org.apache.catalina.Host true
deployOnStartup all Boolean型标记,决定Tomcat在启动时是否自动部署在Host的appBase目录下找到的Web应用程序。参见第3章,了解deployonStartup的详细信息与示例 true
deployXML S(标准主机) Boolean型标记,决定Tomcat是否在CATALINA_HOME/conf/[engine-name]
/thost-name]目录下自动部署拥有context XML片段文件的Web应用程序
true
errorReportValveClass S 允许由Java开发者定制错误网页,必须实现org.apache.catalina.Valve

org.apache.

catalina.valves.

ErrorReportvalve

name all  Host名。在所有Engine的Host名中,必须惟一
 
无,必要的属性
uppackWars S 决定在Tomcat启动Web应用程序之前是否解包WAR文件的标志。如果为true,则Tomcat在解压目录之外提供Web应用程序的资源。如果为false,则在压缩的的WAR文件之外提供Web应用程序的资源 true
workDir S 除了在Contexts指定不同的workDir之外,在该Host中所有Web应用程序使用的临时文件路径名 ${catalinabase}/work
xmlNamespaceAware all 该标志知道启用或禁用XML命名空间。
设置该值与xmlValidation为true,表示对web.xml文件执行有效性检验
false
xmlValidation all 决定Tomcat是否对web.xm1文件执行有效性检验的标志。在大部分Tomcat版本中,该功能不是很有用,因为XML分析器与一直到Sun JDK1.6.0(包括1.6.0)的JVM中的XML分析器不兼容 false

context

Context代表Tomcat实例中的Web应用程序,网站至少是由一个contexts构成的

属性 含义 默认值
allowlinking 如果应用程序是未解包的目录,则允许同步链接到驻留在应用程序的docBase目录外的文件或目录 false
annotationProcessor 处理Servlet 2.5Web应用程序注解的完全限定Java实现类 none
antiJARLocking 避免在Windows上锁定JAR false
antiResourceLocking 避免在Windows上锁定资源 false
cacheMaxSize 该Context的最大静态资源缓存值(以KB为单位) 10240
cacheTTL 缓存刷新之间的活跃时间(The Time To Live,TTL)间隔,以毫秒为单位 5000
cachingAllowed 启用或禁用Context的静态资源缓存的标志 true
caseSensitive 为context核实是否启用或禁用URL区分大小写的标志 true
cookies 启用或禁用与该context交互的会话ID对应的cookies true
crossContext 指定ServletContext.getContext(otherwebApp)是否会成功(true)或返回null(false) false
delegate 该标志启用或禁用类加载器,决定是否对该网页内容(context)的Web应用程序类加载器授权。除非您知道要处理什么事情,否则不对该选项进行设置 false
docBase 路径。对应于Web应用程序解包目录或WAR文件的路径。如果指定相对路径,则该路径是Host的appBase目录的相对路径。不要把docBase的值设置为包含appBase命名头的值。例如,如果appBase="deploy",则不要给docBase选择如"deployment-webapp"的值。这样处理将导致部署错误 无,必要的
path 相对于Web应用程序应映射Web服务器根目录("/”)的URI路径。把该属性设置为空字符出("”)表示该Web应用程序应为根Web应用程序。除非Context元素处于serverxml文件中,否则不能设置该属性
privileged 设置该网页内容属性为true,表示允许该Web应用程序有权访问Tomcat的内部对象和类。对不信任的Web应用程序,不要将该属性设为true,因为授权的Web应用程序能控制Tomcat false
reloadable 该标志启用或禁用对该网页内容重新加载Web应用程序类 false
swallowOutput 在执行servlet的时候,设置该标志将使所有对System.out和Syestem.err的信息重定向为该网页内容的日志 false
unloadDelay 在消除引用servlet并允许把servlet放入回收站之前,该网页内容卸载servlet所允许等待的毫秒数。从Tomcat 5.5.13开始,就可以使用该属性 2000
unpackWAR 把该标志设为true,使Tomcat自动解包Web应用程序的WAR文件并提供解包目录之外的Web应用程序的资源 true
useNaming 该标志启用或禁用为该应用程序创建JNDI网页范围 true
workDir Web应用程序的临时文件目录的路径名。如果不设置该属性,则表示继承Host的workDir None

参考资料:《TOMCAT权威指南》中国电力出版社

你可能感兴趣的:(tomcat)