Tomcat 的配置

我们日常所说的 Tomcat 配置,大多数是针对其核心组件 Catalina 而言。

配置体系的构成

Tomcat/Catalina 的配置体系包含一系列配置文件,配置格式以 .xml 文件为主,也包括个别 .policy 和 .properties 文件。这些配置文件之间,既有功能的分工,也有作用域的层叠。有的配置文件的位置是固定的,由 Tomcat 程序根据特定规则直接检索;有的配置文件的位置则是在主配置文件中设置的。

  • {$CATALINA_BASE}/conf/catalina.policy

    Security Policy Permissions for Tomcat

    安全策略配置。
    该文件遵循标准安全策略语法,这种语法是 JEE 规范的一部分。

  • {$CATALINA_BASE}/conf/catalina.properties
    Catalina 性能优化的重要工具。
    该文件遵循标准的 Java 属性文件格式。

  • {$CATALINA_BASE}/conf/logging.properties
    指定服务所使用的日志工具及日志格式。
    该文件遵循标准的 Java 属性文件格式。

  • {$CATALINA_BASE}/conf/context.xml

    The contents of this file will be loaded for each web application.

    应用缺省配置。
    在 Tomcat 的语境中,context 指代 web 应用。

  • {$CATALINA_BASE}/conf/server.xml
    Tomcat 核心配置文件。
    该配置文件中的配置变更,需要重启 Tomcat 才能生效。

  • {$CATALINA_BASE}/conf/tomcat-users.xml
    server.xml::/Server/GlobalNamingResources/Resource/@pathname

  • {$CATALINA_BASE}/conf/web.xml

  • {$CATALINA_BASE}/conf/{ENGINE_NAME}/{HOST_NAME}/

  • {WEB_APP_HOME}/META-INF/context.xml

  • {WEB_APP_HOME}/WEB-INF/web.xml
    context.xml::/Context/WatchedResource[text()="${catalina.base}/conf/web.xml"]

环境变量

{TOMCAT}/bin/catalina.sh 脚本文件中包含一节标题为 Environment Variable Prerequisites 的注释,可视为对 Tomcat 所依赖的环境变量的权威说明。

Connector 配置

Tomcat 在 server.xml 配置文件中定义了所启用的连接器:

<Server>
    <!-- ... -->
    <Service>
        <Connector port="8080" protocol="HTTP/1.1"
                   connectionTimeout="20000" redirectPort="8443" />
    </Service>
</Server>

注意,server.xml::/Server/Service/* 中包括了连接器和容器配置。

Container 配置

容器的配置与连接器有两点显著的不同:

  1. 容器的配置分散在不同的 XML 配置文件中,并且其配置元素也不以 Container 命名
  2. 容器允许有条件的嵌套。

Engine

An Engine represents the entry point (within Catalina) that processes every request.
@cite server.xml

Engine 配置元素位于 server.xml::/Server/Service/Engine,每个 <Service/> 元素中只能包含一个 <Engine/> 元素。

Host

Context

容器的通用配置

  • Lisenter

  • Realm

  • Resource

  • Value

SEE

results matching ""

    No results matching ""