zoukankan      html  css  js  c++  java
  • Tomcat配置文件server.xml

    Tomcat目录中的server.xml配置文件

    server.xml称为主配置文件或全局配置文件

    它完成以下两个目标:

    1,提供Tomcat组件的初始化配置

    2,说明Tomcat的结构和含义,使得Tomcat通过实例化组件完成启动及构建自身

     

    代码解析如下:

     <Server port="8005" shutdown="SHUTDOWN">
          <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
          <Listener className="org.apache.catalina.core.JasperListener" />
          <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
          <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
          <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
          <GlobalNamingResources>
          <!-- 全局命名资源,来定义一些外部访问资源,其作用是为所有引擎应用程序所引用的外部资源的定义 --!>
            <Resource name="UserDatabase" auth="Container"
                      type="org.apache.catalina.UserDatabase"
                      description="User database that can be updated and saved"
                      factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
                      pathname="conf/tomcat-users.xml" />
          </GlobalNamingResources>
    <!-- 定义的一个名叫“UserDatabase”的认证资源,将conf/tomcat-users.xml加载至内存中,在需要认证的时候到内存中进行认证 --> <Service name="Catalina">
    <!-- # 定义Service组件,同来关联Connector和Engine,一个Engine可以对应多个Connector,每个Service中只能一个Engine --!> <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> <!-- 修改HTTP/1.1的Connector监听端口为8080.客户端通过浏览器访问的请求,只能通过HTTP传递给tomcat。 --> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> <Engine name="Catalina" defaultHost="localhost"> <!-- 修改当前Engine,默认主机是localhost -->
    <Realm className="org.apache.catalina.realm.LockOutRealm"> <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/> </Realm> <-- Realm组件,定义对当前容器内的应用程序访问的认证,通过外部资源UserDatabase进行认证 --> <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <!-- 定义一个主机,域名为:localhost,应用程序的目录是webapps,设置自动部署,自动解压 --> <Context path="" docBase=""/usr/local/tomcat/webfile" " reloadable="true" /> <!--定义该应用程序,访问路径"“,并且当该应用程序下web.xml或者类等有相关变化时,自动重载当前配置,即不用重启tomcat使部署的新应用程序生效--> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log" suffix=".txt" pattern="%h %l %u %t &quot;%r&quot; %s %b" /> <!-- 定义一个Valve组件,用来记录tomcat的访问日志,日志存放目录为:logs如果定义为相对路径则是相当于$CATALINA_HOME,
    并非相对于appBase,
            这个要注意。定义日志文件前缀为localhost_access_log并以.txt结尾,pattern定义日志内容格式,具体字段表示可以查看tomcat官方文档--> </Host> </Engine> </Service> </Server>

    标签功能如下:

    server标签:根元素,它代表整个容器,Tomcat实例的顶层元素.org.apache.catalina.Server接口来定义.它包含一个<Service>元素.并且它不能做为任何元素的子元素.(其直接子元素有3个)

       Listener标签:监听器,用来管理Tomcat生命周期和全局资源

       GlobalNamingResources标签:配置系统的JNDI

       Service标签该元素由org.apache.catalina.Service接口定义,它包含一个<Engine>元素,以及一个或多个<Connector>,这些Connector元素共享用同一个Engine元素(其直接子元素2个)

          Connector标签:连接器,代表外部客户之间的接口,将在一个指定的接口上侦听客户请求,将请求给Engine进行处理Connector之间的port不能重复,否则会报JVM BIND  端口号冲突的问题

          Enger标签:引擎,每个Service元素只能有一个Engine元素.元素处理在同一个<Service>中所有<Connector>元素接收到的客户请求.org.apahce.catalina.Engine接口定义.处理server中所有的客户请求(其直接子元素3个)

            Realm标签定义对当前容器内的应用程序访问的认证,通过外部资源UserDatabase进行认证

            Logger标签

            Host标签它由Host接口定义.一个Engine元素可以包含多个<Host>元素.每个<Host>的元素定义了一个虚拟主机.它包含了一个或多个Web应用.虚拟主机处理一个特定的主机请求(其直接子元素2个)

              Logger标签:日志和错误信息

              Context标签:web应用组,它由Context接口定义.是使用最频繁的元素.每个<Context元素代表了运行在虚拟主机上的单个 Web应用.一个<Host>可以包含多个<Context>元素.每个web应用有唯一的一个相对应的Context代表web应用自身.servlet容器为第一个web应用创建一个ServletContext对象.当一个web应用被初始化时,它将用自己的classLoader对象载入”web.xml“中定义的每个Servlet类。<Context>元素中可以包含如下元素<Logger>, <Realm>, <Resource>, <ResourceParams>

          

                                                  

  • 相关阅读:
    hibernate4+spring4+struts2的Maven中的pom.xml文件的配置
    阿里云服务器ECS部署应用教程
    python3.x 判断当前版本【简单版】
    ubuntu15.04安装 RVM
    org.springframework.orm.hibernate4.support.OpenSessionInViewFilter
    org.springframework.orm.hibernate4.support.OpenSessionInterceptor
    新手写的一个DBCP工具类
    git 出现 The current branch is not configured for pull No value for key branch.master.merge found in configuration
    spring mvc 配置运行报错误
    Delphi七牛云OSS对象存储SDK【支持上传文件、分片上传文件、下载文件、断点上传下载、Bucket管理、目录创建删除、复制移动文件等操作等】
  • 原文地址:https://www.cnblogs.com/understander/p/5509460.html
Copyright © 2011-2022 走看看