元素名 属性 解释
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。如果没有指定,使用标准的缺省值。