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

  • 相关阅读:
    ubuntu 14.04下使用fcitx时将caps lock映射为ctrl
    php多进程、IPC和事件驱动
    [轉載]【京都动画统治世界】短篇科幻小说《2134动漫奇缘》
    [日语]每日笔记
    [转载]C++的顺序点(sequence point)和副作用(side effect)
    [转载]Best Practices for Speeding Up Your Web Site
    [系统]安装fedora 19
    阿里云服务上面部署redis + 本地Redis客户端连接方法 + 配置redis服务
    linux [Centos7]搭建PHP的RabbitMQ环境
    linux vim常用操作
  • 原文地址:https://www.cnblogs.com/userrain/p/5440783.html
Copyright © 2011-2022 走看看