您的位置:首页 > 运维架构 > Tomcat

tomcat6 server.xml 参数详解

2012-07-18 23:22 429 查看
元素名  属性  解释

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。如果没有指定,使用标准的缺省值。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息