Tomcat的服务器配置文件server.xml解析

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情

Tomcat的服务器配置文件server.xml解析

J2EE开发   2008-11-11 17:59   阅读 401   评论0  
字号:    

Tomcat服务器是由一系列可配置的组件构成,其核心组件是Catalina   Servlet容器,它是所有其他Tomcat组件的顶层容器。Tomcat的组件可以在<CATALINA_HOME>/conf/server.xml文件中进行配置,每个Tomcat的组件在server.xml文件中对应一种配置元素.一下代码以XML的形式展示了各种Tomcat组件之间的关系:

<Server>元素
        代表了整个Catalina   Servlet容器,它是Tomcat实例的顶层元素.可包含一个或多个<Service>元素.

        <Service>元素
        包含一个<Engine>元素,以及一个或多个<Connector>元素,这些<Connector>元素共享同一个<Engine>元素.

        <Connector>元素
        代表和客户程序实际交互的组件,他负责接收客户请求,以及向客户返回响应结果.

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

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

        <Context>元素
        每个<Context>元素代表了运行虚拟主机上的但个Web应用.一个<Host>元素中可以包含多个<Context>元素.

Tomcat服务器是由一系列可配置的组件构成,Tomcat的组件可以在<CATALINA_HOME>/conf/server.xml文件中进行配置,每个Tomcat组件和server.xml文件中的一种配置元素对应.下面就一些常用的元素做了介绍.关于server.xml的更多信息,可以参考Tomcat的文档:

          <CATALINA_HOME>/webapps/tomcat-docs/config/index.html

          下面是server.xml文件的样例:
1.     配置Server元素

        <Server>元素代表了整个Catalina     Servler容器,它是Tomcat实例的顶层元素,由org.apache.catalina.Server接口来定义.<Server>元素中可以包含一个或者多个<Service>元素,但<Server>元素不能作为任何其他元素的子元素.范例代码中定义的<Server>元素如下:

            <Server     port="8005"     shutdown="SHUTDOWN"     debug="0">
          <Server>属性含义:

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

          <Service>元素由org.apache.catalina.Service接口定义,它包含一个<Engine>元素,以及一个或多个<Connector>元素,这些<Connector>元素共享一个<Engine>元素.     例如,在范例文件中配置了两个<Service>元素

          <Service     name="Catalina">
      name="Apache">
          第一个<Service>处理所有直接由Tomcat服务器接收的Web客户请求,第二个<Service>处理由Apache服务器转发过来的Web客户请求.

        <Service           <Service>属性含义:

--------------------------------------------------------------
          className       :指定实现org.apache.catalina.Service接口的类,默认值为org.apache.catalina.core.StandardService.
          name                 :定义Service的名字.

3.     配置Engine元素

          <Engine>元素由org.apahe.catalina.Engine接口定义.     每个<Service>元素只能包括一个<Engine>元素.     <Engine>元素处理在同一个<Service>中所有<Connector>元素接收到的客户请求.     例如,在范例server.xml文件中配置了一下的<Engine>元素:

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

          <Engine>属性含义:

--------------------------------------------------------------
          className       :指定实现org.apache.catalina.Engine接口的类,默认值为org.apache.catalina.core.StandardEngine.
          name                 :定义Engine的名字.

          在<Engine>元素中可以包含如下的子元素:
                  <Logger>
                  <Realm>
                  <Valve>
                  <Host>

4.     配置Host元素

          <Host>元素由org.apache.catalina.Host接口定义.一个<Engine>元素可以包含多个<Host>元素.每个<Host>元素定义了一个虚拟主机,它可以包含一个或多个Web应用.     例如,在样例server.xml中配置了以下<Host>元素:

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

          以上代码定义了一个名为localhost的虚拟主机,Web客户访问它的URL为:     http://localhost:8080/

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

          在<Host>元素中可以包含如下的子元素:
                  <Logger>
                  <Realm>
                  <Valve>
                  <Context>

5.     配置Context元素

          <Context>元素由org.apache.catalina.Context接口定义.     <Context>元素是使用最频繁的元素.     每个<Context>元素代表了运行在虚拟主机上的单个Web应用.     一个<Host>元素中可以包含多个<Context>元素.     例如,     在样例server.xml文件中配置了以下<Context>元素:

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

          <Context>属性含义:
--------------------------------------------------------------
          className         :指定实现org.apache.catalina.Context接口的类,默认值为org.apache.catalina.core.StandardContext.
          path                   :指定访问该Web应用的URL入口.
          docBase             :指定Web应用的文件路径.可以给定绝对路径,也可以给定相对于Host的appBase属性的相对路径.     如果Web应用采用开放目录结构,那就指定Web应用的根目录;如果Web应用是个WAR文件,那就指定WAR文件的路径.
          reloadable       :如果这个属性设为true,Tomcat服务器在运行状态下会监视在WEB-INF/class和WEB-INF/lib目录下CLASS文件的改动.如果检测到有calss文件被更新,服务器会自动重新加载Web应用.
          cookies             :指定是否通过Cookie来支持Session,默认为true.
          useNaming         :指定是否支持JNDI,默认为true.

          在<Context>元素中可以包含如下的子元素:
                  <Logger>
                  <Realm>
                  <Valve>
                  <Resource>
                  <ResourceParams>

6.     配置Connector元素

          <Connector>元素由org.apache.catalina.Connector接口定义.<Connector>元素代表与客户程序实际交互的组件,它负责接收客户的请求,以及向客户返回响应结果.例如,     在样例server.xml文件中配置了两个<Connector>元素:

              prot="8009"
                                    enableLookups="false"     redirectPort"8443"     debug="0"
                                    protocol="AJP/1.3"/>            

          第一个<Connector>元素定义了一个HTTP     Connector,它通过8080端口接收HTTP请求;
          第二个<Connector>元素定义了一个JK     Connector,它通过8009端口接收由其他HTTP服务器(如Apache服务器)转发过来的客户请求.

          所有的<Connector>元素都具有一些共同的属性,这些属性如下:     <Connector       <Connector     port="8080"
                                    maxThreads="150"     minSpareThreads="25"     maxSpareThreads="75"
                                    enableLookups="false"     redirectPort="8443"     acceptCount="100"
                                    debug="0"     connectionTimeout="20000"  
                                    disableUploadTimeout="true"     />  
          <Connector>属性含义(共同属性):

--------------------------------------------------------------
          className               :指定实现org.apache.catalina.Connector     接口的类,默认值为org.apache.catalina.core.StandardConnector.
          enableLookups       :如果设为true,表示支持域名解析,可以把IP地址解析为主机名.Web应用调用request.getRemostHost方法将返回客户的主机名.该属性默认值为true.
          redirectPort         :指定转发端口.如果当前端口只支持non-SSL请求,在需要安全通信的场合,将把客户请求转发到基于SSL的redirectPort的端口.

          HttpConnector的属性描述如下:
--------------------------------------------------------------
          calssName               :指定实现org.apache.catalina.Connector接口的类,默认值为org.apache.coyote.tomcat5.CoyoteConnector.
          enableLookups       :同上.
          redirectPort         :同上.
          prot                         :设定TCP/IP断口号,默认为8080.
          address                   :如果服务器有两个以上IP地址,该属性可以设定端口监听的IP地址,默认情况下,端口会监听服务器上所有IP地址.
          bufferSize             :设定由端口创建的输入流的缓存大小,默认值为2048byte.
          protocol                 :设定HTTP协议,默认值为HTTP/1.1.
          maxThreads             :设定处理客户请求的线程的最大数目,这个值也决定了服务器可以同时响应客户请求的最大数目,默认值为200.
          acceptCount           :设定在监听端口队列中的最大客户请求数,默认值为10.     如果队列已满,客户请求将被拒绝.
          connectionTimeout     :定义建立客户连接超时的时间,以毫秒为单位.如果设置为-1,表示不限制建立客户连接的时间.

          JK     Connector     的属性如下:
--------------------------------------------------------------
          className               :指定实现org.apache.catalina.Connector接口的类,默认值为org.apache.coyote.tomact5.CoyoteCnnector.
          enableLookups       :同上.
          redirectPort         :同上.
          port                         :设定AJP端口号.
          protocol                 :必须设定为AJP/1.3协议

网络安全 —— 实验(基于华为eNSP模拟器) 8. 实验八 —— 通过路由的远程管理(基于实验七的基础配置)8. 实验八 —— 通过路由的远程管理(基于实验七的基础配置)6. 实验六 —— 交换机的远程控制(直接控制和间接控制)6. 实验六 —— 交换机的远程控制(直接控制和间接控制)5. 实验五 —— 将交换机作为PC端通过交换机相连。5. 实验五 —— 将交换机作为PC端通过交换机相连。4. 实验四 —— 两个PC机通过两台交换机相连。2. 实验二 —— 两个PC机通过交换机相连。2. 实验二 —— 两个PC机通过交换机相连。 阅读详情

相关推荐

告别谷歌!QGC地面站v4.0.x保姆级教程:用高德/天地图瓦片替换老旧地图源

本文提供QGroundControl(QGC)地面站v4.0.x的详细教程,指导用户如何用高德地图和天地图瓦片替换默认地图源,解决数据陈旧、访问不稳定等问题。教程涵盖环境配置、源码修改、地图集成及性能优化,帮助无人机开发者打造稳定高效的中文地图解决方案。

weixin_30836759的博客 478

Tomcat配置多域名 Alias

  在Tomcat配置多域名,目的是和apache相对应,实现多域名访问。 使用 &lt; Alias&gt;&lt;/ Alias&gt;,务必注意,使用的是首字母大写。 我刚开配置使用小写,如果host的 name=“localhost”,然后把所有域名添加到alias中,可以进行正常访问,后来把houst的name改成了域名,就不能访问,弄了半天原来是大小写的问题。正确配置如下:在默认的ho...

niyabuxing的专栏 1万+

从零构建物联网数据中台:MQTT协议、Node.js服务、MongoDB与InfluxDB双存储及React可视化实战

本文详细介绍了从零构建物联网数据中台的完整实战方案。通过采用MQTT协议作为设备通信标准,结合Node.js搭建高并发数据处理服务,并创新性地使用MongoDB与InfluxDB双存储架构分别管理设备元数据与海量时序数据,最后利用React构建了实时数据可视化控制台。该架构有效解决了物联网项目中数据异构、查询性能低下等核心痛点,为构建高效、可扩展的物联网平台提供了清晰路径。

weixin_28432777的博客 253

tomcat 配置别名alias

server.xml --> 节点内部配置:

m0_67393039的博客 586

Tomcat服务器配置文件server.xml的配置解析及Context的配置(网上文档的学习整理)

server.xml配置文件解析 以下是这个文件中的基本配置信息: server: port 指定一个端口,这个端口负责监听关闭tomcat的请求 shutdown 指定向端口发送的命令字符串 service: name 指定service的名字 Connector (表示客户端和service之间的连接) port 指定服务器端要创建的端

liuhaolzjtu的专栏 - 学而不思则罔,思而不学则殆。 1210

tomcat服务器配置文件,tomcat7的配置文件server.xml解析

这里对tomcat7的server.xml文件进行解释一下,方便在分析启动源码的时候理解Digester做的事情。type="org.apache.catalina.UserDatabase"description="User database that can be updated and saved"factory="org.apache.catalina.users.MemoryUserDa...

weixin_42169971的博客 661

tomcat下的4个xml配置文件的作用

context.xml文件的作用: Context.xmlTomcat公用的环境配置。 tomcat服务器会定时去扫描这个文件。一旦发现文件被修改(时间戳改变了),就会自动重新加载这个文件,而不需要重启服务器。 context.xml的三个作用范围: 1. tomcat server级别: 在/conf/context.xml里配置 2. Host级别: 在/conf/Catali

思维空间 1万+

Tomcat server.xml配置文件介绍

标签:一、server.xml文件介绍1.server.xml作用    Server.xml配置文件用于对整个容器进行相关的配置。2.server.xml文件的配置元素列表<Server>:是整个配置文件的根元素。表示整个Catalina容器。<Connector>:连接器,负责接收客户的请求,以及向...

梁同学与Android 2974

tomcat配置文件详解

tomcat配置文件详解目录结构及作用tomcat配置文件1. context.xml2. web.xml3. server.xml4. tomcat-users.xml运维常用配置文件1. 整体结构2. 元素分类 目录结构及作用 查看目录: [root@localhost tomcat]# ls bin BUILDING.txt conf CONTRIBUTING.md lib LICENSE logs NOTICE README.md RELEASE-NOTES RUNNING.tx

weixin_42257277的博客 4290

Tomcatserver.xml配置详解

.server.xml结构 server.xml默认配置示例: &lt;Server port="8005" shutdown="SHUTDOWN"&gt; &lt;Listener className="org.apache.catalina.startup.VersionLoggerListener" /&gt; &lt;Listener className="o.

nioqnw的博客 1万+

tomcatserver.xml详解

如果Web应用中的server.xml没有相应的元素,将采用Tomcat默认的Context。3、autoDeploy 如果此项设为true,表示Tomcat服务处于运行状态时,能够监测appBase下的文件,如果有新有web应用加入进来,会自动发布这个WEB应用。元素处理在同一个中所有元素接收到的客户请求。6、maxThreads设定在监听端口的线程的最大数目,这个值也决定了服务器可以同时响应客户请求的最大数目,默认值为200。

顺其自然~专栏 2191

深度解析tomcat核心配置文件server.xml

前言 对于tomcat,大家都应该很熟悉,哪怕你是一个小白,也应该略知一二。在日常开发中我们一般都是用tomcat来进行部署测试的,tomcat是属于apache的一个轻量级的应用服务器tomcat本身涉及的底层技术有很多,大家有兴趣可以深入研究一下。这里主要是和大家一起学习一下tomcat的核心配置文件server.xml。之所以说它是tomcat的核心配置文件,因为tomcat中的组件都是

爱琴孩的博客 2771

Tomcat配置文件server.xml总结

tomcat配置文件位于tomcat目录的conf文件夹下。/conf/server.xml 下面主要讲解server.xml配置文件的内容和配置方法。 源码如下,已去除注释 <?xml version="1.0" encoding="UTF-8"?> <Server port="8005" shutdown="SHUTDOWN"> <Listener className="org.apache.catalina.startup.VersionLoggerListen.

王飞的博客 569

浅析Tomcat 服务器下4个xml配置文件

一、context.xml 文件Context.xmlTomcat 公用的环境配置,tomcat 服务器会定时去扫描这个文件。一旦发现文件被修改(时间戳改变了),就会自动重新加载这...

SRE运维部落 381

tomcat配置文件server.xml详解

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现。因为Tomcat 技术先进、性能稳定,而且免费,因而深受J...

XYC3939的博客 269

tomcatserver.xml配置详解

tomcatserver.xml配置详解 Tomcat Server的结构图如下: 该文件描述了如何启动Tomcat Server <Server><Listener/><GlobaNamingResources></GlobaNamingResources<Service>...

ClearLoveQ的博客 571

Tomcat中包含的配置文件、名字、作用分析记录

目录 Tomcat v8.5配置文件 context.xml server.xml web.xml tomcat-users.xml 参考 Tomcat v8.5配置文件 从上面的目录的截图可以看出,除了catalina.*文件外,其实配置文件就是context.xml server.xml web.xml tomcat-users.xml四个文件,那么接下来我们一次看下这4个...

FeelTouch Labs 9091

Tomcat server.xml配置示例

1、Tomcat 安装目录 安装完成 的tomcat,被放在了你的本地存储中。对于 windows ,通常在 “ Program Files ” 文件夹下,对于 Mac 或者 Linux,可能在 /user/var/opt 或 /User/ bin:Tomcat 二进制启动脚本。conf:应用于所有 webapp 的全局配置。默认会提供如下配置: catalina.policy

tomxiaotian的博客 439
上一篇: Apache的FileUpload组件
下一篇: myeclipse7.0安装SVN插件问题
持人持己
博客等级 码龄20年 2粉丝 54原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值