yunvn 发表于 2017-1-29 10:43:57

tomcat 的 server.xml配置解

<!--
它代表整个容器,是Tomcat实例的顶层元素.由org.apache.catalina.Server接口来定义.
它包含一个<Service>元素.并且它不能做为任何元素的子元素
port:指定一个端口,这个端口负责监听关闭tomcat的请求
shutdown:指定向端口发送的命令字符串
-->
<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.mbeans.ServerLifecycleListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />


<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的名字
   -->
<Service name="Catalina">

    <!--The connectors can use a shared executor, you can define one or more named thread pools-->
    <!--
    <Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
      maxThreads="150" minSpareThreads="4"/>
    -->
   
   
    <!-- 表示客户端和service之间的连接
port:指定服务器端要创建的端口号,并在这个断口监听来自客户端的请求
minProcessors:服务器启动时创建的处理请求的线程数
maxProcessors:最大可以创建的处理请求的线程数
enableLookups:如果为true,则可以通过调用request.getRemoteHost()进行DNS查询来得到远程客户端的实际主机名,
若为false则不进行DNS查询,而是返回其ip地址
redirectPort:指定服务器正在处理http请求时收到了一个SSL传输请求后重定向的端口号
acceptCount:指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理
connectionTimeout:指定超时的时间数(以毫秒为单位)
enableLookups:如果设为true,表示支持域名解析,可以把IP地址解析为主机名.WEB应用中调用
request.getRemoteHost方法返回客户机主机名.默认值为true
    -->
    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
   

    <!-- Define an AJP 1.3 Connector on port 8009 -->
<!-- apache整合tomcat要用到这个接口   -->
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

<!-- Engine(表示指定service中的请求处理机,接收和处理来自Connector的请求)   -->
    <Engine name="Catalina" defaultHost="localhost">

   

      <!-- This Realm uses the UserDatabase configured in the global JNDI
         resources under the key "UserDatabase".Any edits
         that are performed against this UserDatabase are immediately
         available for use by the Realm.-->
      <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
             resourceName="UserDatabase"/>

      <!-- Define the default virtual host
         Note: XML Schema validation will not work with Xerces 2.2.
       -->
      <Host name="localhost"appBase="webapps"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">

      <!-- SingleSignOn valve, share authentication between web applications
             Documentation at: /docs/config/valve.html -->
      <!--
      <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
      -->

      <!-- Access log processes all example.
             Documentation at: /docs/config/valve.html -->
      <!--
      <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>
      -->
<!--
<Context docBase="D:\test2" path="/test2"
      privileged="true" >
</Context>
-->
      </Host>

<!--host(表示一个虚拟主机)
name:指定主机名
appBase:应用程序基本目录,即存放应用程序的目录
unpackWARs:如果为true,则tomcat会自动将WAR文件解压,
否则不解压,直接从WAR文件中运行应用程序
alias:指定主机别名,可以指定多个别名
className:指定实现Host接口的类.默认值为StandardHost
autoDeploy;如果此项设为true,表示Tomcat服务处于运行状态时,能够监测appBase
            下的文件,如果有新有web应用加入进来,会自运发布这个WEB应用
deployOnStartup:如果此项设为true,表示Tomcat服务器启动时会自动发布appBase目录下所有
                   的Web应用.如果Web应用中的server.xml没有
                   相应的<Context>元素,将采用Tomcat默认的Context

-->
<Host name="www.xxx.com" appBase="D:/test"
            unpackWARs="true" autoDeploy="true" xmlValidation="false"
            xmlNamespaceAware="false">
          <Context docBase="D:/test/" path="/c1"
                   privileged="true" antiResourceLocking="false"
                   antiJARLocking="false" autodeploy="true">
          </Context>
<!-- 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的情况下改变应用程序
    cookies:指定是否通过Cookies来支持Session,默认值为true
useNaming:指定是否支持JNDI,默认值为了true

-->
   <Context path="/book"
            docBase="D:\java_work\work_space\book\WebRoot"
reloadable="true"
debug="0"
workDir="D:\java_work\work_space\book\work" privileged="true">
   </Context>

      </Host>


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


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方式记录的值更多


<Engine>元素
每个Service元素只能有一个Engine元素.元素处理在同一个<Service>中所有<Connector>元素接收到的客户请求.由org.apahce.catalina.Engine接口定义.
在<Engine>可以包含如下元素<Logger>, <Realm>, <Value>, <Host>
页: [1]
查看完整版本: tomcat 的 server.xml配置解