tomcat6 server.xml 详解

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,必须指定以下属性
 Connectorprotocol指定通讯协议
(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配置:

元素名 属性 解释
Hostname指定主机名
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配置:

元素名 属性 解释
Contextpath 虚拟目录名称,默认项目配""

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。
wrapperClassorg.apache.catalina.Wrapper实现类的名称,用于该Context管理的servlets。如果没有指定,使用标准的缺省值。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>