tomcat server.xml的配置详解

 

tomcat server.xml 配置详解

 

元素名

属性

解释

server

port

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

shutdown

指定向端口发送的命令字符串

service

name

指定 service的名字

Connector (表示客户端和 service之间的连接 )

port

指定服务器端要创建的端口号,并在这个断口监听来自客户端的请求

minProcessors

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

maxProcessors

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

enableLookups

如果为 true,则可以通过调用 request.getRemoteHost()进行 DNS查询来得到远程客户端的实际主机名,若为 false则不进行 DNS查询,而是返回其 ip地址

redirectPort

指定服务器正在处理 http请求时收到了一个 SSL传输请求后重定向的端口号

acceptCount

指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理

connectionTimeout

指定超时的时间数 (以毫秒为单位 )

Engine (表示指定 service中的请求处理机,接收和处理来自 Connector的请求 )

defaultHost

指定缺省的处理请求的主机名,它至少与其中的一个 host元素的 name属性值是一样的

Context (表示一个 web应用程序,通常为 WAR文件,关于 WAR的具体信息见 servlet规范 )

docBase

应用程序的路径或者是 WAR文件存放的路径

path

表示此 web应用程序的 url的前缀,这样请求的 url http://localhost:8080/path/ ****

reloadable

这个属性非常重要,如果为 true,则 tomcat会自动检测应用程序的 /WEB-INF/lib /WEB-INF/classes目录的变化,自动装载新的应用程序,我们可以在不重起 tomcat的情况下改变应用程序

host (表示一个虚拟主机 )

name

指定主机名

appBase

应用程序基本目录,即存放应用程序的目录

unpackWARs

如果为 true,则 tomcat会自动将 WAR文件解压,否则不解压,直接从 WAR文件中运行应用程序

Logger (表示日志,调试和错误信息 )

className

指定 logger使用的类名,此类必须实现 org.apache.catalina.Logger 接口

prefix

指定 log文件的前缀

suffix

指定 log文件的后缀

timestamp

如果为 true,则 log文件名中要加入时间,如下例 :localhost_log.2001-10-04.txt

Realm (表示存放用户名,密码及 role的数据库 )

className

指定 Realm使用的类名,此类必须实现 org.apache.catalina.Realm接口

Valve (功能与 Logger差不多,其 prefix suffix属性解释和 Logger 中的一样 )

className

指定 Valve使用的类名,如用 org.apache.catalina.valves.AccessLogValve类可以记录应用程序的访问信息

directory

指定 log文件存放的位置

pattern

有两个值, common方式记录远程主机名或 ip地址,用户名,日期,第一行请求的字符串, HTTP响应代码,发送的字节数。 combined方式比 common方式记录的值更多

 

 

 

 

<Server> 元素


它代表整个容器 , Tomcat 实例的顶层元素 . org.apache.catalina.Server 接口来定义 . 它包含一个

<Service> 元素 . 并且它不能做为任何元素的子元素 .

 

< Server port ="8005" shutdown ="SHUTDOWN" debug ="0">


1>className 指定实现 org.apache.catalina.Server 接口的类 . 默认值为

org.apache.catalina.core.StandardServer
2>port 指定 Tomcat 监听 shutdown 命令端口 . 终止服务器运行时 , 必须在 Tomcat 服务器所在的机器上发出

shutdown 命令 . 该属性是必须的 .
3>shutdown 指定终止 Tomcat 服务器运行时 , 发给 Tomcat 服务器的 shutdown 监听端口的字符串 . 该属性必须设

<Service> 元素


该元素由 org.apache.catalina.Service 接口定义 , 它包含一个 <Engine> 元素 , 以及一个或多个

<Connector>, 这些 Connector 元素共享用同一个 Engine 元素
   

< Service name ="Catalina">
   
< Service name ="Apache">


   第一个 <Service> 处理所有直接由 Tomcat 服务器接收的 web 客户请求 .
   第二个 <Service> 处理所有由 Apahce 服务器转发过来的 Web 客户请求
1>className 指定实现 org.apahce.catalina.Service 接口的类 . 默认为

org.apahce.catalina.core.StandardService
2>name 定义 Service 的名字

<Engine> 元素


每个 Service 元素只能有一个 Engine 元素 . 元素处理在同一个 <Service> 中所有 <Connector> 元素接收到的客

户请求 . org.apahce.catalina.Engine 接口定义 .

< Engine name ="Catalina" defaultHost ="localhost" debug ="0">

1>className 指定实现 Engine 接口的类 , 默认值为 StandardEngine
2>defaultHost 指定处理客户的默认主机名 , <Engine> 中的 <Host> 子元素中必须定义这一主机
3>name 定义 Engine 的名字
<Engine> 可以包含如下元素 <Logger>, <Realm>, <Value>, <Host>

<Host> 元素


它由 Host 接口定义 . 一个 Engine 元素可以包含多个 <Host> 元素 . 每个 <Host> 的元素定义了一个虚拟主机 .

包含了一个或多个 Web 应用 .

< Host name ="localhost" debug ="0" appBase ="webapps" unpackWARs ="true" autoDeploy ="true">

1>className 指定实现 Host 接口的类 . 默认值为 StandardHost
2>appBase 指定虚拟主机的目录 , 可以指定绝对目录 , 也可以指定相对于 <CATALINA_HOME> 的相对目录 . 如果

没有此项 , 默认为 <CATALINA_HOME>/webapps
3>autoDeploy 如果此项设为 true, 表示 Tomcat 服务处于运行状态时 , 能够监测 appBase 下的文件 , 如果有新有

web 应用加入进来 , 会自运发布这个 WEB 应用
4>unpackWARs 如果此项设置为 true, 表示把 WEB 应用的 WAR 文件先展开为开放目录结构后再运行 . 如果设为

false 将直接运行为 WAR 文件
5>alias 指定主机别名 , 可以指定多个别名
6>deployOnStartup 如果此项设为 true, 表示 Tomcat 服务器启动时会自动发布 appBase 目录下所有的 Web 应用

. 如果 Web 应用中的 server.xml 没有相应的 <Context> 元素 , 将采用 Tomcat 默认的 Context
7>name 定义虚拟主机的名字
<Host> 元素中可以包含如下子元素
<Logger>, <Realm>, <Value>, <Context>

<Context> 元素


它由 Context 接口定义 . 是使用最频繁的元素 . 每个 <Context 元素代表了运行在虚拟主机上的单个 Web 应用 .

一个 <Host> 可以包含多个 <Context> 元素 . 每个 web 应用有唯一
的一个相对应的 Context 代表 web 应用自身 .servlet 容器为第一个 web 应用创建一个
ServletContext 对象 .

< Context path ="/sample" docBase ="sample" debug ="0" reloadbale ="true">

1>className 指定实现 Context 的类 , 默认为 StandardContext
2>path 指定访问 Web 应用的 URL 入口 , 注意 /myweb, 而不是 myweb 了事
3>reloadable 如果这个属性设为 true, Tomcat 服务器在运行状态下会监视在 WEB-INF/classes Web-

INF/lib 目录 CLASS 文件的改运 . 如果监视到有 class 文件被更新 , 服务器自重新加载 Web 应用
3>cookies 指定是否通过 Cookies 来支持 Session, 默认值为 true
4>useNaming 指定是否支持 JNDI, 默认值为了 true

<Context> 元素中可以包含如下元素
<Logger>, <Realm>, <Resource>, <ResourceParams>

<Connector> 元素


Connector 接口定义 .<Connector> 元素代表与客户程序实际交互的给件 , 它负责接收客户请求 , 以及向客

户返回响应结果 .

< Connector port ="8080" maxThread ="50" minSpareThreads ="25" maxSpareThread ="75"
enableLookups
="false" redirectPort ="8443" acceptCount ="100" debug ="0"
connectionTimeout
="20000" disableUploadTimeout ="true" />
< Connection port ="8009" enableLookups ="false" redirectPort ="8443" debug ="0"
protocol
="AJP/1.3" />

第一个 Connector 元素定义了一个 HTTP Connector, 它通过 8080 端口接收 HTTP 请求 ; 第二个 Connector 元素定

义了一个 JD Connector, 它通过 8009 端口接收由其它服务器转发过来的请求 .
Connector 元素共用属性
1>className 指定实现 Connector 接口的类
2>enableLookups 如果设为 true, 表示支持域名解析 , 可以把 IP 地址解析为主机名 .WEB 应用中调用

request.getRemoteHost 方法返回客户机主机名 . 默认值为 true
3>redirectPort 指定转发端口 . 如果当前端口只支持 non-SSL 请求 , 在需要安全通信的场命 , 将把客户请求转

发至 SSL redirectPort 端口
HttpConnector 元素的属性
1>className 实现 Connector 的类
2>port 设定 Tcp/IP 端口 , 默认值为 8080, 如果把 8080 改成 80, 则只要输入 http://localhost 即可
因为 TCP/IP 的默认端口是 80
3>address 如果服务器有二个以上 ip 地址 , 此属性可以设定端口监听的 ip 地址 . 默认情况下 , 端口会监听服务

器上所有的 ip 地址
4>bufferSize 设定由端口创建的输入流的缓存大小 . 默认值为 2048byte
5>protocol 设定 Http 协议 , 默认值为 HTTP/1.1
6>maxThreads 设定在监听端口的线程的最大数目 , 这个值也决定了服务器可以同时响应客户请求的最大数

. 默认值为 200
7>acceptCount 设定在监听端口队列的最大客户请求数量 , 默认值为 10. 如果队列已满 , 客户必须等待 .
8>connectionTimeout 定义建立客户连接超时的时间 . 如果为 -1, 表示不限制建立客户连接的时间
JkConnector 的属性
1>className 实现 Connector 的类
2>port 设定 AJP 端口号
3>protocol 必须设定为 AJP/1.3

 

========================================================================================

 

 

<Server> 元素
它代表整个容器 , Tomcat 实例的顶层元素 . org.apache.catalina.Server 接口来定义 . 它包含一个 <Service> 元素 . 并且它不能做为任何元素的子元素 .

<Server port="8005" shutdown="SHUTDOWN" debug="0">

1> className 指定实现 org.apache.catalina.Server 接口的类 . 默认值为 org.apache.catalina.core.StandardServer
2> port 指定 Tomcat 监听 shutdown 命令端口 . 终止服务器运行时 , 必须在 Tomcat 服务器所在的机器上发出 shutdown 命令 . 该属性是必须的 .
3> shutdown 指定终止 Tomcat 服务器运行时 , 发给 Tomcat 服务器的 shutdown 监听端口的字符串 . 该属性必须设置

 

<Service> 元素
该元素由 org.apache.catalina.Service 接口定义 , 它包含一个 <Engine> 元素 , 以及一个或多个 <Connector>, 这些 Connector 元素共享用同一个 Engine 元素
   
    <Service name="Catalina">
    <Service name="Apache">
    第一个 <Service> 处理所有直接由 Tomcat 服务器接收的 web 客户请求 .
    第二个 <Service> 处理所有由 Apahce 服务器转发过来的 Web 客户请求

1> className 指定实现 org.apahce.catalina.Service 接口的类 . 默认为 org.apahce.catalina.core.StandardService
2> name 定义 Service 的名字

 

<Engine> 元素
每个 Service 元素只能有一个 Engine 元素 . 元素处理在同一个 <Service> 中所有 <Connector> 元素接收到的客户请求 . org.apahce.catalina.Engine 接口定义 .

<Engine name="Catalina" defaultHost="localhost" debug="0">

1> className 指定实现 Engine 接口的类 , 默认值为 StandardEngine
2> defaultHost 指定处理客户的默认主机名 , <Engine> 中的 <Host> 子元素中必须定义这一主机
3> name 定义 Engine 的名字

<Engine> 可以包含如下元素 <Logger>, <Realm>, <Value>, <Host>

 

<Host> 元素
它由 Host 接口定义 . 一个 Engine 元素可以包含多个 <Host> 元素 . 每个 <Host> 的元素定义了一个虚拟主机 . 它包含了一个或多个 Web 应用 .

   <Host name="localhost" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true">

1> className 指定实现 Host 接口的类 . 默认值为 StandardHost
2> appBase 指定虚拟主机的目录 , 可以指定绝对目录 , 也可以指定相对于 <CATALINA_HOME> 的相对目录 . 如果没有此项 , 默认为 <CATALINA_HOME>/webapps
3> autoDeploy 如果此项设为 true, 表示 Tomcat 服务处于运行状态时 , 能够监测 appBase 下的文件 , 如果有新有 web 应用加入进来 , 会自运发布这个 WEB 应用
4> unpackWARs 如果此项设置为 true, 表示把 WEB 应用的 WAR 文件先展开为开放目录结构后再运行 . 如果设为 false 将直接运行为 WAR 文件
5> alias 指定主机别名 , 可以指定多个别名
6> deployOnStartup 如果此项设为 true, 表示 Tomcat 服务器启动时会自动发布 appBase 目录下所有的 Web 应用 . 如果 Web 应用中的 server.xml 没有相应的 <Context> 元素 , 将采用 Tomcat 默认的 Context
7> name 定义虚拟主机的名字

<Host> 元素中可以包含如下子元素
<Logger>, <Realm>, <Value>, <Context>


<Context> 元素
它由 Context 接口定义 . 是使用最频繁的元素 . 每个 <Context 元素代表了运行在虚拟主机上的单个 Web 应用 . 一个 <Host> 可以包含多个 <Context> 元素 . 每个 web 应用有唯一
的一个相对应的 Context 代表 web 应用自身 .servlet 容器为第一个 web 应用创建一个
ServletContext 对象 .

<Context path="/sample" docBase="sample" debug="0" reloadbale="true">

1> className 指定实现 Context 的类 , 默认为 StandardContext
2> path 指定访问 Web 应用的 URL 入口 , 注意 /myweb, 而不是 myweb 了事
3> reloadable 如果这个属性设为 true, Tomcat 服务器在运行状态下会监视在 WEB-INF/classes Web-INF/lib 目录 CLASS 文件的改运 . 如果监视到有 class 文件被更新 , 服务器自重新加载 Web 应用
3> cookies 指定是否通过 Cookies 来支持 Session, 默认值为 true
4> useNaming 指定是否支持 JNDI, 默认值为了 true


<Context> 元素中可以包含如下元素
<Logger>, <Realm>, <Resource>, <ResourceParams>

 

Connector 元素
Connector 接口定义 .<Connector> 元素代表与客户程序实际交互的给件 , 它负责接收客户请求 , 以及向客户返回响应结果 .

<Connector port="8080" maxThread="50" minSpareThreads="25" maxSpareThread="75" enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" disableUploadTimeout="true" />

<Connection port="8009" enableLookups="false" redirectPort="8443" debug="0" protocol="AJP/1.3" />
第一个 Connector 元素定义了一个 HTTP Connector, 它通过 8080 端口接收 HTTP 请求 ; 第二个 Connector 元素定义了一个 JD Connector, 它通过 8009 端口接收由其它服务器转发过来的请求 .

Connector 元素共用属性
1> className 指定实现 Connector 接口的类
2> enableLookups 如果设为 true, 表示支持域名解析 , 可以把 IP 地址解析为主机名 .WEB 应用中调用 request.getRemoteHost 方法返回客户机主机名 . 默认值为 true
3> redirectPort 指定转发端口 . 如果当前端口只支持 non-SSL 请求 , 在需要安全通信的场命 , 将把客户请求转发至 SSL redirectPort 端口


HttpConnector 元素的属性
1> className 实现 Connector 的类
2> port 设定 Tcp/IP 端口 , 默认值为 8080, 如果把 8080 改成 80, 则只要输入 http://localhost 即可
因为 TCP/IP 的默认端口是 80
3> address 如果服务器有二个以上 ip 地址 , 此属性可以设定端口监听的 ip 地址 . 默认情况下 , 端口会监听服务器上所有的 ip 地址
4> bufferSize 设定由端口创建的输入流的缓存大小 . 默认值为 2048byte
5> protocol 设定 Http 协议 , 默认值为 HTTP/1.1
6> maxThreads 设定在监听端口的线程的最大数目 , 这个值也决定了服务器可以同时响应客户请求的最大数目 . 默认值为 200
7> acceptCount 设定在监听端口队列的最大客户请求数量 , 默认值为 10. 如果队列已满 , 客户必须等待 .
8> connectionTimeout 定义建立客户连接超时的时间 . 如果为 -1, 表示不限制建立客户连接的时间


JkConnector 的属性
1> className 实现 Connector 的类
2> port 设定 AJP 端口号
3> protocol 必须设定为 AJP/1.3

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值