zoukankan      html  css  js  c++  java
  • tomcat server.xml详解

    tomcat配置文件结构:

    <Server>
      <Listener />
      <GlobaNamingResources>
      </GlobaNamingResources
      <Service>
        <Connector />
        <Engine>
          <Logger />
          <Realm />
            <host>
              <Logger />
              <Context />
            </host>
        </Engine>
      </Service>
    </Server>

    <server>元素代表一个完整的容器。它的port属性指定监听关闭该tomcat的请求端口;shutdown属性指定向端口发送的命令字符串;

    <service>元素由org.apache.catalina.Service接口定义,它包含一个<Engine>元素,以及一个或多个<Connector>,这些Connector元素共享用同一个Engine元素;

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

    它的port属性指定服务器端要创建的端口号,并在这个断口监听来自客户端的请求;protocol:指定监听的请求协议;

    redirectPort:指定服务器正在处理http请求时收到了一个SSL传输请求后重定向的端口号;

    Engine元素(表示指定service中的请求处理机,接收和处理来自Connector的请求)
    defaultHost属性:指定缺省的处理请求的主机名,它至少与其中的一个host元素的name属性值是一样的;

    Valve元素功能与Logger差不多都用来指定记录应用程序的访问信息;其中prefix和suffix指定log文件的前缀和后缀名;

    pattern属性有两个值表示两种方式,common方式记录远程主机名或ip地址,用户名,日期,第一行请求的字符串,HTTP响应代码,发送的字节数。combined方式比common方式记录的值更多。

    directory用于指定存放log文件的地址;

    <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>
    <Service name="Catalina">
      <Connector port="8080" protocol="HTTP/1.1"
          connectionTimeout="20000"
          redirectPort="8443" 
        URIEncoding="UTF-8"
        useBodyEncodingForURI="true"/>
      <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
      <Engine name="Catalina" defaultHost="localhost">
        <Realm className="org.apache.catalina.realm.LockOutRealm">
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
            resourceName="UserDatabase"/>
        </Realm>
        <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" />
        </Host>
      </Engine>
    </Service>
    </Server>

    上面是我本机的tomcat设置,可以看到,它定义8005端口监听shutdown请求,在定义的service内定义了两个connector,一个是8080端口负责监听http协议,一个是8009端口,负责监听AJP协议,也就是其它apache服务器转发过来的请求;定义的默认host为本机,它会在webapps文件夹下寻找资源进行返回。log打印定义的文件夹为logs,文件名为localhost_access_log.txt,它的打印格式由pattern定义。

    具体参考网址: http://www.blogjava.net/baoyaer/articles/107278.html

  • 相关阅读:
    HDU 5744
    HDU 5815
    POJ 1269
    HDU 5742
    HDU 4609
    fzu 1150 Farmer Bill's Problem
    fzu 1002 HangOver
    fzu 1001 Duplicate Pair
    fzu 1150 Farmer Bill's Problem
    fzu 1182 Argus 优先队列
  • 原文地址:https://www.cnblogs.com/userrain/p/5440783.html
Copyright © 2011-2022 走看看