tomcat配置文件之Server.xml

Posted 一谦的视界

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tomcat配置文件之Server.xml相关的知识,希望对你有一定的参考价值。

Server.xml包含的元素有<Server><Service><Connector><Engine><Host><Context><logger><Value><Realm>等,它们可分为四大类:

1、顶层类元素:有<Server><Service>。它位于整个配置文件的顶层。

2、连接器类元素:有<Connector>。客户和容器类元素的通讯接口。

3、容器类元素:有<Engine><Host><Context>。处理客户请求并且生成响应结果。

4、嵌套类元素:有<logger><Value><Realm>。可以加入到容器中的元素

配置文件结构为:
<server>

              <service>

                            <connector/>

                            <connector/>

                            <engine>

                                                 <host>

                                                               <context/>

                                                 </host>

                                                 <host>

                                                               <context/>

                                                               <context/>

                                                 </host>

                            </engine>

              </service>

<server>

 

<Server>元素

<Server>Tomcat实例的顶层元素,由org.apache.catalina.Server接口定义,它可以包含一个或多个<Service>元素,并且不能做为任何元素的子元素。一个<Server>是一个提供完整JVM的独立组件,它可以代表整个容器,但它本身不是一个容器,不可以定义<value><loggers>之类的子组件。

 

属性说明:

属性

说明

port

指定一个端口,这个端口负责监听关闭Tomcat的请求 

shut down

向以上端口发送的关闭服务器的命令字符串,通常为“SHUTDOWN

 

对于一个已经开启的tomcat服务器,可以在cmd下使用telnet localhost 8005命令进行连接,然后输入“SHUTDOWN 命令就可以关闭服务器。

 

 

<Service>元素

Service是一个集合,它由一个或者多个Connector以及一个Engine组成,这个Engine负责处理所有Connector所获得的客户请求。每个Service元素只能有一个Engine元素。Service本身也不是容器。

 

属性说明:

属性

说明

name

Service的名称

 

<Connector>元素

<Connector>是直接与用户交互的组件,负责接受用户请求和向客户返回响应结果。

 

属性说明:

属性

说明

port

Connector所监听的端口。在浏览器中可以通过输入url:port的方式提交给对应的Connector。因为浏览器的默认端口是80,所以如果把Connectorport设成80的话,可以直接使用url进行访问,不用在后边再跟一个端口号。

protocol

设定Http协议,默认是HTTP/1.1

minThreads

服务器启动时创建的处理用户请求的线程数

maxThreads

可以创建的最大的处理用户请求的线程数

minSpareThreads

最小备用线程数

maxSpareThreads

最大备用线程数

acceptCount

当所有可以使用的处理请求的线程都被用光时,可以放到处理队列中的请求数,超过这个数的请求将不予处理,而返回Connection refused错误。

redirectPort

服务器正在处理http请求时收到了一个SSL传输请求后重定向的端口号。(即当请求是https时,将它转发到的端口)

enableLookups

如果为true,表示支持域名解析,则可以在web应用中通过调用request.getRemoteHost()进行DNS查询来得到远程客户端的实际主机名;若为false则不进行DNS 查询,而是返回其ip地址。默认值为true

connectionTimeout

等待超时的时间数(以毫秒为单位),如果为-1表示不限制客户连接的时间。

 

 

<Engine>元素

它处理在同一个<Service>中所有<Connector>元素接收到的客户请求。它匹配请求和自己的虚拟主机,并将请求发给对应的<Host>处理,默认的主机是localhost

 

属性说明:

属性

说明

name

engine的名称,对应目录 /conf /Catalina

defaultHost

默认的处理请求的虚拟主机,至少与下面一个Hostname属性一样。对应 /conf /Catalina /localhost

Debug

日志等级。

 

<Host>元素

一个<Engine>元素可以包含多个<Host>元素,每个<Host>的元素定义一个虚拟主机,它包含一个或多个web应用。

 

属性说明:

属性

说明

name

虚拟主机名,对应目录 /conf /Catalina /localhost

appBase

指定虚拟主机的目录,默认为/webapps。它将请求url与该虚拟主机的context进行匹配,并把请求转给对应的context来处理。

Debug

日志等级。

autoDeploy

默认为true,表示如果有新的WEB应用放入appBase并且Tomcat在运行的情况下,自动载入应用。

unpackWARs

如果设置为true,表示把war文件先展开再运行。如果为false则直接运行war文件。

 

<Context>元素

代表运行在虚拟主机上的单个web应用。一个<Host>可以包含多个<Context>元素。每个web应用有唯一个相对应的Context代表web应用自身。

 

属性说明:

属性

说明

path

Web应用名在使用url访问host下的web应用时通过http://localhst/ website 的形式。其中localhost为上文所说的hostname,而website就是这里的path

也就是说当一具请求到来时,engine先根据host name = localhost来确定所要求的主机,再根据context path = website确定用户所请求的web应用。

docBase

Web应用的具体存放路径

Debug

日志等级。

autoDeploy

默认为true,表示如果有新的WEB应用放入appBase并且Tomcat在运行的情况下,自动载入应用。

unpackWARs

如果设置为true,表示把war文件先展开再运行。如果为false则直接运行war文件。

 


以上是关于tomcat配置文件之Server.xml的主要内容,如果未能解决你的问题,请参考以下文章

tomcat8优化配置之server.xml文件优化

tomcat8性能优化之server.xml配置文件

Tomcat之并发优化

tomcat 的 server.xml配置文件

Tomcat配置文件server.xml详解

Tomcat:server.xml文件详解