Tomcat6的配置参数

时间:2021-07-04 19:10:06

Tomcat6的配置参数如下表所示。

注:Tomcat6的各个小版本可能部分配置有个别出入的地方。

官方文档参见:

属性

描述

enableLookups

如果希望调用request.getRemoteHost()进行DNS查询,以返回远程客户的实际主机名,将enableLookups设为true。如果希望忽略DNS查询,仅仅返回IP地址,设为false(这样提高了性能)。缺省情况下,DNS查询是使能的。

redirectPort

如果Connector支持非SSL请求,在收到一个要求使用SSL传输的请求以后,Catalina会自动将该请求重定向到这里指定的端口号。

scheme

调用request.getScheme()时返回的协议名称。比如,在SSL Connector上可能将这个属性设为“https”。缺省值为“http”,更多信息,参考SSL支持

secure

如果希望在该Connector接收到的请求上调用request.isSecure()返回true,设置该属性为true。缺省值为false

acceptCount

当所有可能的请求处理线程都被使用的时候,连接请求队列的最大长度。如果该队列为满,所有的请求都被拒绝,缺省值为10

address

对于具有多个IP地址的server,这个属性指定了用于监听特定端口的地址。缺省情况下,端口作用于server的所有IP地址。

bufferSize

connector创建的输入流缓冲区的大小(以字节为单位)。缺省情况下,bufferSize=2048

compression

为了节省服务器带宽,Connector可能使用HTTP/1.1GZIP压缩。这个参数的可接受值为“off”(不使用压缩),“on”(压缩文本数据),“force”(在所有的情况下强制压缩),或者使用一个数值整数(等价于“on”,但是指定了输出被压缩是的最小的数据数)。如果content-length未知, compression设置成“on”或者更强,输出也会被压缩。如果没有指定,这个属性被设成“off”

connectionLinger

Connector使用的socket被关闭的时候,保留该socket的时间,以毫秒为单位。缺省值为-1(不使用socket linger)。例如设置为300,则执行Socketclose方法,该方法不会立即返回,而进入阻塞状态,同时,底层的Socket也会尝试发送剩余的数据,只有满足下面的两个条件之一,close方法才会返回:1)底层的Socket已经发送完所有的剩余数据;2)尽管底层的Socket还没有发送完所有的剩余数据,但已经阻塞了300毫秒,close()方法的阻塞时间超过300毫秒,也会返回,剩余未发送的数据被丢弃。如果设置为0或不启用,那么执行Socketclose方法,该方法会立即返回,但底层的Socket也会立即关闭,所有未发送完的剩余数据被丢弃。此参数的单位官方文档中说的是毫秒,查看源代码实际上应该是秒,因为socket的soLinger单位就是秒。对于tomcat来说,这个值的意义就不大了,tomcat底层肯定先调用flush后,再close,主要是看flush阻塞与否,tomcat6.0.36以上版本默认是启用的,不知何故。

connectionTimeout

Connector接受一个连接以后,等待发生第一个请求的时间,以毫秒为单位。缺省值为6000060秒)

debug

日志消息的详细程度,数字越大,输出越详细,如果没有指定,使用缺省值0

disableUploadTimeout

这个标志允许servlet container在一个servlet执行的时候,使用一个不同的,更长的连接超时。最终的结果是给servlet更长的时间以便完成其执行,或者在数据上载的时候更长的超时时间。如果没有指定,设为false

maxKeepAliveRequests

server关闭连接之前,接受的HTTP请求的最大数目。如果该值设为1,会禁止HTTP/1.0保活,同时也会禁止HTTP/1.1保活和pipelining。如果没有指定,设为100

maxThreads

Connector能够创建的最大请求处理线程数,这个值决定了同时能够处理的最大请求数。如果没有指定,缺省值为200

maxSpareThreads

在线程池开始停止不必要的线程之前,允许存在的最大未使用的请求处理线程。缺省值为50

minSpareThreads

Connector第一次启动时,创建的请求处理线程数。connector同时必须保证指定数目的空闲处理线程。这个值应该设置成比maxThreads小的数值,缺省值为4

port

Connector创建server socket并等待连接的TCP端口号。操作系统在特定的IP地址上只允许一个服务器应用程序监听特定的端口。

protocol

为了使用HTTP处理器,该属性值必须为HTTP/1.1(缺省值)

proxyName

如果connector在代理配置中使用,将这个属性设置成调用request.getServerName()时返回的服务器名称。更多信息参考代理支持。

proxyPort

如果Connector在代理配置中使用,这个属性指定了调用request.getServerPort()返回的端口值。更多信息参考代理支持。

socketBuffer

socket输出缓冲区的大小。如果为-1,不使用缓冲。缺省值为9000字节。

tcpNoDelay

如果为true,服务器socket会设置TCP_NO_DELAY选项,在大多数情况下可以提高性能。缺省情况下设为true

algorithm

使用的认证编码算法。缺省值为SunX509

clientAuth

如果在接受某个连接之前,需要客户端发送有效证书链,将该值设为true。如果为false(缺省值),不需要使用证书链。除非客户端请求被CLIENT-CERT认证保护的资源。

keystoreFile

存储服务器证书的keystore文件路径。缺省情况下,路径指向运行Tomcat的用户主目录下的".keystore"

keystorePass

用来访问服务器证书的密码,缺省值未"changeit"

keystoreType

用于存储服务器证书的keystore文件的类型。缺省值未"JKS"

sslProtocol

SSL协议的版本号,缺省值是TLS

ciphers

可以使用的加密算法列表,用逗号分开。如果没有指定,可以使用任何算法。