tomcat配置文件server.xml

一、什么是tomcat?

  tomcat是一款实现了javaee规范的应用服务器,目前市场上最流行的开源服务器。

二、server.xml文件

<?xml version='1.0' encoding='utf-8'?>

<!-- 监听8005端口负责监听关闭tomcat的请求;SHUTDOWN是指定向端口发送的命令字符串-->
<Server port="8005" shutdown="SHUTDOWN">

  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
  <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>

  <!-- 可以有多个Service,
        name定义Service的名字
        className 指定实现org.apahce.catalina.Service接口的类.默认为org.apahce.catalina.core.StandardService
  -->
  <Service name="Catalina">
    
    <!-- 表示客户端和service之间的连接
         port 指定服务器端要创建的端口号,并在这个断口监听来自客户端的请求
         minProcessors 服务器启动时创建的处理请求的线程数
         maxProcessors 最大可以创建的处理请求的线程数
         enableLookups 如果为true,则可以通过调用request.getRemoteHost()进行DNS查询来得到远程客户端的实际主机名,若为false则不进行DNS查询,而是返回其ip地址
         redirectPort  指定服务器正在处理https请求时重定向的端口号
         acceptCount   指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理
         connectionTimeout  指定超时的时间数(以毫秒为单位)
    -->
    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
               
    <!-- AJP连接器可以通过AJP协议和一个web容器进行交互-->           
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

    <!-- 表示指定service中的请求处理机,接收和处理来自Connector的请求,每个Service元素只能有一个Engine元素
        name  Engine的名字
        defaultHost 指定处理客户的默认主机名,在<Engine>中的<Host>子元素中必须定义这一主机
      -->
    <Engine name="Catalina" defaultHost="localhost">

      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase"/>
      </Realm>
      
      
      <!-- Host表示一个虚拟主机,一个Engine元素可以包含多个<Host>元素
            name表示主机名
            appBase 应用程序基本目录,即存放应用程序的目录
            unpackWARs 为true,则tomcat会自动将WAR文件解压,否则不解压,直接从WAR文件中运行应用程序。
            autoDeploy 默认为true,表示如果有新的WEB应用放入appBase 并且Tomcat在运行的情况下,自动载入应用   
      -->
      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
        <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" />
               
        <!-- Context表示一个web应用程序,一个Host元素可以包含多个<Context>元素
            docBase 应用程序的路径
            path表示此web应用程序的url的前缀,这样请求的url为http://localhost:8080/path/****
            reloadable 如果为true,则tomcat会自动检测应用程序的/WEB-INF/lib 和/WEB-INF/classes目录的变化,自动装载新的应用程序,我们可以在不重起tomcat的情况下改变应用程序
            useNaming:如果希望Catalina为该web应用使能一个JNDI InitialContext对象,设为true。该InitialialContext符合J2EE平台的约定,缺省值为true。
            workDir:Context提供的临时目录的路径,用于servlet的临时读/写。利用javax.servlet.context.tempdir属性,servlet可以访问该目录。如果没有指定,使用$CATALINA_HOME/work下一个合适的目录。
            swallowOutput:如果该值为true,System.out和System.err的输出被重定向到web应用的logger。如果没有指定,缺省值为false
            debug:与这个Engine关联的Logger记录的调试信息的详细程度。数字越大,输出越详细。如果没有指定,缺省为0。
         -->       
        <Context docBase="smartCity-XXX" path="smartCity-XXX" reloadable="true"/>       

      </Host>
    </Engine>
  </Service>
</Server>

  

原文地址:https://www.cnblogs.com/kyleinjava/p/9002031.html