tomcat学习

Server 表示一整个servlet容器

 

Server的所有实现都 支持以下属性:

属性描述
className

要使用的实现的Java类名。该类必须实现该org.apache.catalina.Server接口。如果未指定类名,则将使用标准实现。

address

此服务器等待shutdown命令的TCP / IP地址。如果未指定地址,localhost则使用。

port

此服务器等待shutdown命令的TCP / IP端口号。设置为-1禁用关闭端口。

注意:当使用Apache Commons Daemon (在Windows上作为服务运行或在un * xes上使用jsvc运行)启动Tomcat时,禁用关闭端口可以正常工作。但是在使用标准shell脚本运行Tomcat时无法使用它,因为它会阻止shutdown.bat | .sh和catalina.bat | .sh正常停止它。

shutdown

必须通过TCP / IP连接接收到指定端口号的命令字符串,以便关闭Tomcat。

 

Service表示一组connector与engine的组合,用来处理进入到容器的请求。server中可以有多个service。

 

Service的所有实现都 支持以下属性:

属性描述
className

要使用的实现的Java类名。该类必须实现该org.apache.catalina.Service接口。如果未指定类名,则将使用标准实现。

name

服务的显示名称,如果您使用标准的Catalina组件,它将包含在日志消息中。与特定服务器关联的每个服务的名称 必须是唯一的。

 

Connector 用来监听服务器上特定端口的连接,并将连接上的请求转发给engine处理。

属性描述
asyncTimeout

异步请求的默认超时(以毫秒为单位)。如果未指定,则将此属性设置为Servlet规范默认值30000(30秒)。

maxHeaderCount

容器允许的请求中的最大标头数。将拒绝包含多于指定限制的标头的请求。值小于0表示没有限制。如果未指定,则使用默认值100。

maxParameterCount

容器将自动解析的参数和值对的最大数量(GET加POST)。超出此限制的参数和值对将被忽略。值小于0表示没有限制。如果未指定,则使用默认值10000。请注意,FailedRequestFilter 过滤器可用于拒绝达到限制的请求。

maxPostSize

POST的最大大小(以字节为单位)将由容器FORM URL参数解析处理。可以通过将此属性设置为小于零的值来禁用该限制。如果未指定,则此属性设置为2097152(2兆字节)。请注意, FailedRequestFilter 可以用于拒绝超出此限制的请求。

port

连接器 将在其上创建服务器套接字并等待传入​​连接的TCP端口号。您的操作系统将只允许一个服务器应用程序侦听特定IP地址上的特定端口号。如果使用特殊值0(零),则Tomcat将随机选择一个空闲端口用于此连接器。这通常仅适用于嵌入式和测试应用程序。

protocol

设置协议以处理传入流量。默认值是 HTTP/1.1使用自动切换机制来选择基于Java NIO的连接器或基于APR / native的连接器。如果PATH(Windows)或LD_LIBRARY_PATH(在大多数unix系统上)环境变量包含Tomcat本机库,并且AprLifecycleListener用于初始化APR的useAprConnector属性设置为 true,则将使用APR /本机连接器。如果找不到本机库或未配置该属性,则将使用基于Java NIO的连接器。请注意,APR /本机连接器对HTTPS的设置与Java连接器不同。
要使用显式协议而不是依赖上述自动切换机制,可以使用以下值:
org.apache.coyote.http11.Http11NioProtocol- 非阻塞Java NIO连接器
org.apache.coyote.http11.Http11Nio2Protocol- 非阻塞Java NIO2连接器
org.apache.coyote.http11.Http11AprProtocol- APR /本机连接器。
也可以使用定制实现。
看看我们的连接器比较图表。对于http和https,两个Java连接器的配置完全相同。
有关APR连接器和APR特定SSL设置的更多信息,请访问APR文档

proxyName

如果在代理配置中使用此连接器,请配置此属性以指定要为其调用返回的服务器名称request.getServerName()。有关更多信息,请参阅代理支持

proxyPort

如果在代理配置中使用此连接器,请配置此属性以指定要为其调用返回的服务器端口request.getServerPort()。有关更多信息,请参阅代理支持

redirectPort

如果此连接器支持非SSL请求,并且收到匹配 <security-constraint>需要SSL传输的请求,则Catalina将自动将请求重定向到此处指定的端口号。

URIEncoding

这指定在%xx解码URL之后用于解码URI字节的字符编码。如果未指定,将使用UTF-8,除非将org.apache.catalina.STRICT_SERVLET_COMPLIANCE 系统属性设置为true 将使用ISO-8859-1。

属性描述
acceptCount

当所有可能的请求处理线程都在使用时,传入连接请求的最大队列长度。队列已满时收到的任何请求都将被拒绝。默认值为100。

acceptorThreadCount

用于接受连接的线程数。在多CP​​U机器上增加此值,尽管您永远不会需要更多2。此外,对于大量非保持连接的连接,您可能还希望增加此值。默认值是 1

address

对于具有多个IP地址的服务器,此属性指定将用于侦听指定端口的地址。默认情况下,连接器将侦听所有本地地址。除非使用系统属性以其他方式配置JVM,否则基于Java的连接器(NIO,NIO2)将在使用0.0.0.0或配置时侦听IPv4和IPv6地址::。APR /本机连接器仅在配置时侦听IPv4地址,0.0.0.0并且如果配置了 ,将侦听IPv6地址(以及可选的IPv4地址,具体取决于ipv6onlyv6的设置)::

 

compressibleMimeType

该值是以逗号分隔的MIME类型列表,可以使用HTTP压缩。默认值为text/html,text/xml,text/plain,text/css,text/javascript,application/javascript 

compression

所述连接器可在试图节省服务器的带宽使用HTTP / 1.1 GZIP压缩。参数的可接受值是“off”(禁用压缩),“on”(允许压缩,导致文本数据被压缩),“force”(在所有情况下强制压缩)或数字整数值(这是等效于“on”,但指定压缩输出之前的最小数据量)。如果内容长度未知且压缩设置为“on”或更具攻击性,则输出也将被压缩。如果未指定,则将此属性设置为“off”。

注意:在使用压缩(节省带宽)和使用sendfile功能(节省CPU周期)之间需要权衡。如果连接器支持sendfile功能,例如NIO连接器,则使用sendfile将优先于压缩。症状将是静态文件大于48 Kb将被解压缩。您可以通过设置useSendfile连接器的属性来关闭sendfile,如下所述,或者更改默认 或Web应用程序中DefaultServlet配置中的sendfile使用率阈值 。 conf/web.xmlweb.xml

connectionLinger

连接器使用的套接字在关闭时将停留的秒数 。默认值是-1禁用套接字延迟。

connectionTimeout

接受连接后,此连接器将等待呈现请求URI行的毫秒数。使用值-1表示没有(即无限)超时。默认值为60000(即60秒),但请注意Tomcat附带的标准server.xml将其设置为20000(即20秒)。除非将disableUploadTimeout设置为false,否则在读取请求正文(如果有)时也将使用此超时。

connectionUploadTimeout

指定在数据上载过程中使用的超时(以毫秒为单位)。这仅在disableUploadTimeout设置为时生效 false

disableUploadTimeout

此标志允许servlet容器在数据上载期间使用不同的,通常更长的连接超时。如果未指定,则将此属性设置为true禁用此较长超时。

 

keepAliveTimeout

连接器在关闭连接之前等待另一个HTTP请求的毫秒数。默认值是使用为connectionTimeout属性设置的值 。使用值-1表示没有(即无限)超时。

maxConnections

服务器在任何给定时间接受和处理的最大连接数。达到此数量后,服务器将接受但不处理另一个连接。此附加连接将被阻止,直到正在处理的连接数低于maxConnections,此时服务器将再次开始接受和处理新连接。请注意,一旦达到限制,操作系统仍可以根据acceptCount设置接受连接。默认值因连接器类型而异。对于NIO和NIO2,默认值为10000。对于APR / native,默认为8192

请注意,对于Windows上的APR / native,配置的值将减小到1024的最大倍数,小于或等于maxConnections。这是出于性能原因而完成的。
如果设置为值-1,则禁用maxConnections功能并且不计算连接。

maxCookieCount

请求允许的最大Cookie数。值小于零表示没有限制。如果未指定,将使用默认值200。

maxSwallowSize

Tomcat针对中止上载将吞下的最大请求正文字节数(不包括传输编码开销)。中止上传是指Tomcat知道请求体将被忽略但客户端仍然发送它。如果Tomcat没有吞下身体,则客户端不太可能看到响应。如果未指定,将使用默认值2097152(2兆字节)。值小于零表示不应强制执行限制。

maxThreads

Connector要创建的最大请求处理线程数,因此确定可以处理的最大并发请求数。如果未指定,则此属性设置为200.如果执行程序与此连接器关联,则忽略此属性,因为连接器将使用执行程序而不是内部线程池执行任务。请注意,如果配置了执行程序,则会正确记录为此属性设置的任何值,但会报告(例如,通过JMX) -1以明确表示未使用该值。

scheme

将此属性设置为您希望通过调用返回的协议的名称request.getScheme()。例如,您可以https为SSL连接器将此属性设置为“ ”。默认值为“ http”。

SSLEnabled

使用此属性可在连接器上启用SSL通信。要在连接器上启用SSL握手/加密/解密,请将此值设置为true。默认值为false。转换此值时,true您还需要设置schemesecure属性以将正确值request.getScheme()和 request.isSecure()值传递给servlet有关详细信息,请参阅SSL支持

Context 表示一个Web应用程序,这是一个特定的虚拟主机中运行。

可以在serivce设置多个,而且还可以同一个应用具有多个版本,具体访问哪个版本通过session信息来决定,如果没有session则请求最新。

cookies

设置为true如果您希望cookie用于会话标识符通信(如果客户端支持)(这是默认设置)。设置为false如果要禁用cookie用于会话标识符通信,并且仅依赖于应用程序的URL重写。

crossContext

true如果希望此应用程序中的调用ServletContext.getContext()成功返回在此虚拟主机上运行的其他Web应用程序的请求调度程序,则设置为。false在安全意识环境中设置为(默认值),以便getContext()始终返回null

docBase

此Web应用程序的文档库(也称为上下文根)目录,或Web应用程序归档文件的路径名(如果此Web应用程序直接从WAR文件执行)。您可以为此目录或WAR文件指定绝对路径名,或者指定appBase与拥有主机的目录相关的路径名。

除非在server.xml中定义了Context元素或者docBase不在Host的下面,否则不能设置此字段的值appBase

如果符号链接用于docBase,则对符号链接的更改仅在Tomcat重新启动或取消部署和重新部署上下文后才有效。上下文重新加载是不够的。

path

此Web应用程序的上下文路径,与每个请求URI的开头匹配,以选择适当的Web应用程序进行处理。特定主机中的所有上下文路径必须是唯一的。如果指定空字符串(“”)的上下文路径,则表示您正在为此主机定义默认 Web应用程序,该应用程序将处理未分配给其他上下文的所有请求。

只有在server.xml中静态定义Context时,才能使用此属性。在所有其他情况下,将从用于.xml上下文文件或docBase的文件名推断出该路径。

即使在server.xml中静态定义Context,也不能设置此属性,除非docBase不在 Host的下面appBase或两者都是, deployOnStartup并且autoDeploy为false。如果未遵循此规则,则可能会导致双重部署。

reloadable

设置为true如果您希望Catalina监视更改类 /WEB-INF/classes//WEB-INF/lib更改,并在检测到更改时自动重新加载Web应用程序。此功能在应用程序开发期间非常有用,但它需要大量的运行时开销,不建议在已部署的生产应用程序上使用。这就是为什么此属性的默认设置为false。但是,您可以使用Manager Web应用程序按需触发已部署应用程序的重新加载。

sessionCookieDomain

用于为此上下文创建的所有会话cookie的域。如果设置,则覆盖Web应用程序设置的任何域。如果未设置,将使用Web应用程序指定的值(如果有)。

sessionCookieName

用于为此上下文创建的所有会话cookie的名称。如果设置,则覆盖Web应用程序设置的任何名称。如果未设置,将使用Web应用程序指定的值(如果有),或者JSESSIONID如果Web应用程序未明确设置,则使用名称。

sessionCookiePath

用于为此上下文创建的所有会话cookie的路径。如果设置,则覆盖Web应用程序设置的任何路径。如果未设置,将使用Web应用程序指定的值,或者如果Web应用程序未显式设置,则使用上下文路径。要将所有Web应用程序配置为使用空路径(这对于portlet规范实现很有用),请将此属性设置 /为全局CATALINA_BASE/conf/context.xml 文件。

注意:一旦使用一个Web应用程序 sessionCookiePath="/"获取会话,同一主机中配置的任何其他Web应用程序的所有后续会话sessionCookiePath="/"将始终使用相同的会话ID。即使会话无效并创建了新会话,这也成立。这使得会话固定保护更加困难,并且需要自定义的Tomcat特定代码来更改多个应用程序共享的会话ID。

workDir

此Context提供的临时目录的路径名,供相关Web应用程序中的servlet临时读写使用。该目录将通过Servlet规范中描述的servlet上下文属性(类型java.io.File) 对Web应用程序中的servlet可见 javax.servlet.context.tempdir。如果未指定,$CATALINA_BASE/work将提供下面的合适目录。

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值