`
wu_quanyin
  • 浏览: 208191 次
  • 性别: Icon_minigender_1
  • 来自: 福建省
社区版块
存档分类
最新评论

Tomcat中server.xml的配置分析一

阅读更多

      最近查看了tomcat6的源代码,了解了里面的大概流程,对细节问题还没有深入,故想通过发表博客对tomcat进

 

行深入了解首先对server.xml进行分析,了解其中tomcat可配置的功能,对tomcat中应有的功能进行较全面的了

 

解,这样一来对后面在源代码中看到的些判断逻辑会更加清楚.

 

 

查找了下以下文章对此作了较详细的描述:

转载至:http://dcbjavaeye.iteye.com/blog/254193

 

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的 前缀,这样请求的urlhttp://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差不多,其prefixsuffix属 性解释和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

以上如果有不够全面的话还可以通过:
官方网档中的%CATALINA_HOME%/docs/config进行了全面详细的描述.可从中根据自己的需求进行配置.

 

 

 

 

4
0
分享到:
评论

相关推荐

    Tomcat 服务器server.xml的关键参数配置

    在Tomcat服务器中,可以通过修改`server.xml`文件中的`Connector`元素来配置服务器的监听端口。对于Tomcat 5.0.30版本来说,默认的HTTP监听端口是8080。如果希望将此端口更改为标准的HTTP端口80,可以在`Connector`...

    为tomcat服务器配置https,tomcat需要设置的server.xml与web.xml配置

    在Tomcat的`conf`目录下,有两个主要的XML配置文件:`server.xml`和`web.xml`。`server.xml`是Tomcat的主要配置文件,而`web.xml`则定义了应用程序的行为。 在`server.xml`中,我们需要配置`&lt;Connector&gt;`元素来启用...

    tomcat server.xml配置说明详解

    tomcat server.xml配置说

    Tomcat server.xml的配置

    Tomcat中server.xml的配置,因为很多刚入门的人可能会因为,错误修改或者删除而使Tomcat运行出现异常

    tomcat6 server.xml 详解

    在Java Web开发中,Tomcat作为一款广泛应用的开源Servlet容器,其配置文件server.xml的重要性不言而喻。本文将深入探讨Tomcat6版本中的server.xml,揭示其中的核心配置元素,帮助开发者更好地理解和定制服务器环境。...

    tomcat_server.xml_配置详解

    《Tomcat Server.xml配置详解》 Tomcat作为流行的Java应用服务器,其核心配置文件`server.xml`对于理解和管理服务器的运行至关重要。本文将详细解析`server.xml`中的关键元素、属性及其含义,帮助读者深入理解...

    tomcat 配置文件 server.xml配置

    ### Tomcat Server.xml配置详解 在探讨`server.xml`配置文件之前,让我们先明确一点:`server.xml`是Apache Tomcat服务器的核心配置文件,它控制着Tomcat的启动、运行和停止过程。对于任何希望深入理解和优化Tomcat...

    tomcatserver.xml配置详解.pdf

    server.xml是Tomcat中的核心配置文件,负责配置整个服务器的运行参数和连接器信息。下面将对Tomcat server.xml中可能包含的配置知识点进行详细说明: 1. &lt;Server&gt; 标签:这是Tomcat顶层的容器,用于构建整个Tomcat...

    tomcat中server.xml详解

    对server.xml的配置信息项进行详解

    Tomcat的server.xml文件

    1. `&lt;Server&gt;`元素:这是整个配置的顶级元素,通常包含一个或多个`&lt;Service&gt;`元素。`port`属性定义了服务器的shutdown端口,用于关闭Tomcat服务。 2. `&lt;Service&gt;`元素:每个`&lt;Service&gt;`代表一个独立的服务,可以...

    tomcat的server.xml标签全解析.

    【Tomcat的Server.xml配置详解】 Tomcat作为广泛使用的Java Servlet容器,其核心配置文件`server.xml`扮演着至关重要的角色。它定义了Tomcat服务器的结构和行为,包括Server、Service、Engine、Host和Context等组件...

    tomcat server.xml配置详解

    在深入探讨Tomcat服务器的`server.xml`配置文件之前,我们先简要了解下Tomcat。Apache Tomcat是一个开源的Servlet容器,主要用来运行Java Servlet和JavaServer Pages(JSP)。`server.xml`是Tomcat的核心配置文件,...

    tomcat server.xml配置说明

    Tomcat Server.xml 配置说明 Tomcat Server.xml 文件是 Tomcat 服务器的核心配置文件,它定义了 Tomcat 服务器的整体结构和行为。在这个文件中,我们可以定义 Server、Service、Engine、Host 等元素,这些元素共同...

    tomcat的server.xml(自用)

    tomcat的server.xml配置,api和web分离。

    tomcat配置文件web.xml与server.xml解析

    server.xml 配置文件是 Tomcat 服务器的另一个重要配置文件,用于配置 Tomcat 服务器的服务器端口、主机名、 Context 路径等。 三、事件监听器和过滤器 事件监听器和过滤器是 Tomcat 服务器中的重要组件,用于监听...

    tomcat server.xml 配置

    通过上述分析可知,`server.xml`配置文件是Tomcat运行的基础,通过对其中各元素的合理配置,不仅可以满足基本的应用部署需求,还能实现更为复杂的场景,如多域名绑定、项目映射等。掌握这些配置技巧,能够帮助开发者...

    tomcat服务器的Server.xml配置详解.docx

    《Tomcat服务器的Server.xml配置详解》 Tomcat作为一款广泛应用的开源轻量级Web应用服务器,其核心配置文件Server.xml对于服务器的管理和优化至关重要。本文将深入解析Server.xml的结构和配置要素,帮助读者更好地...

    tomcat配置讲解(server.xml)

    tomcat配置讲解(server.xml)

    tomcat server.xml

    tomcat server.xml配置;1:支持虚目录,如上传的文件放置到tomcat webapp置为的目录 2:配置https 3:配置多域名

Global site tag (gtag.js) - Google Analytics