tomcat server.xml 解读

<?xml version="1.0" encoding="UTF-8"?>


<Server port="8005" shutdown="SHUTDOWN">
<!--Server属性说明
	#     port:指定一个端口,这个端口负责监听关闭Tomcat的请求  
	#     shutdown:向以上端口发送的关闭服务器的命令字符串  	
-->

  <Listener className="org.apache.catalina.core.AprLifecycleListener" />
  <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
  <Listener className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener"/>

  <!-- Global JNDI resources -->
  <GlobalNamingResources>
<!--	
	#     服务器的全局JNDI资源,可以有子标签<Resource></Resource>
-->
    <!-- Test entry for demonstration purposes -->
    <Environment name="simpleValue" type="java.lang.Integer" value="30"/>

    <!-- Editable user database that can also be used by
         UserDatabaseRealm to authenticate users -->
    <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>

  <!-- Define the Tomcat Stand-Alone Service -->
  <Service name="Catalina">
<!-- Service name 指定service的名字
	#     每个Service元素只能有一个Engine元素.元素处理在同一个<Service>中所有<Connector>元素接收到的客户请求 
--> 
    <!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
	<!--Connector (表示客户端和service之间的连接)-->
    <Connector port="8080" maxHttpHeaderSize="8192"
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" redirectPort="8443" acceptCount="100"
               connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8"/>
<!--
	#	port:指定服务器端要创建的端口号,并在这个断口监听来自客户端的请求
	#	minProcessors:服务器启动时创建的处理请求的线程数
	#	maxProcessors:最大可以创建的处理请求的线程数
	#	enableLookups:如果为true,则可以通过调用request.getRemoteHost()进行DNS查询来得到远程客户端的实际主机名,若为false则不进行DNS查询,而是返回其ip地址
	#	redirectPort:指定服务器正在处理http请求时收到了一个SSL传输请求后重定向的端口号
	#	acceptCount:指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理
	#	connectionTimeout:指定超时的时间数(以毫秒为单位)
	#   maxThreads:设定在监听端口的线程的最大数目,这个值也决定了服务器可以同时响应客户请求的最大数目.默认值为200  
	#   protocol:必须设定为AJP/1.3协议.  
	#   address:如果服务器有两个以上IP地址,该属性可以设定端口监听的IP地址,默认情况下,端口会监听服务器上所有IP地址.  
	#   debug:日志等级  
	#   disableUploadTimeout:禁用上传超时,主要用于大数据上传时 
	#	URIEncoding指定字符集编码(该项比较常用,主要解决中文乱码问题)
-->

    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector port="8009" 
               enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
         
    <!-- Define the top level container in our container hierarchy -->
    <Engine name="Catalina" defaultHost="localhost">
<!--  
	#    name:对应$CATALINA_HOME/config/Catalina中的Catalina   
	#    defaultHost:对应Host元素中的name属性,也就是和$CATALINA_HOME/config/Catalina/localhost中的localhost  
	#    缺省的处理请求的虚拟主机名,它至少与其中的一个Host元素的name属性值是一样的  
	#    debug:日志等级  
-->  
      <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
             resourceName="UserDatabase"/>
<!--  
	#	  className 指定Realm使用的类名,此类必须实现org.apache.catalina.Realm接口 
	#     由Host接口定义.一个Engine元素可以包含多个<Host>元素.  
	#         每个<Host>的元素定义了一个虚拟主机.它包含了一个或多个Web应用.  
-->  
      <Host name="localhost" appBase="webapps"
       unpackWARs="true" autoDeploy="true"
       xmlValidation="false" xmlNamespaceAware="false"># <!--属性说明  
	#     debug:是日志的调试等级   
	#     appBase: 默认的应用路径,也就是把应用放在一个目录下,并在autoDeploy为true的情况下,可自动部署应用此路径相对于                   
	#	  $CATALINA_HOME/ (web applications的基本目录)  
	#     unpackWARs:设置为true,在Web应用为*.war是,解压此WAR文件.   
	#     如果为true,则tomcat会自动将WAR文件解压;否则不解压,直接从WAR文件中运行应用程序.  
	#     autoDeploy:默认为true,表示如果有新的WEB应用放入appBase 并且Tomcat在运行的情况下,自动载入应用   
	#     -->  

      </Host>

    </Engine>

  </Service>

</Server>

你可能感兴趣的:(apache,tomcat,xml,应用服务器,Web)