Tomcat 中文文档(一)
1.介绍
对于管理员和 Web 开发人员,在开始之前,您应该熟悉一些重要的信息。本文档简要介绍了 Tomcat 容器背后的一些概念和术语。同样,当您需要帮助时该去哪里
2.术语
在阅读这些文档的过程中,您会遇到许多术语;一些特定于 Tomcat,另一些由 Servlet 和 JSP 规范定义。
- 上下文- 简而言之,上下文是一个 Web 应用程序。
这就对了。如果您发现我们需要在此部分添加更多条款,请告诉我们。
3.目录和文件
这些是一些关键的 tomcat 目录:
-
/bin - tomcat 一些启动关闭的脚本。
-
/conf - 配置文件的DTD 约束文件 和配置文件 server.xml 等。
-
/logs - 默认情况下,tomcat 日志文件在此处。
-
/webapps - 这是您的 web 应用程序所在的位置 当然你也可以在配置文件中自定义设置。
4.CATALINA_HOME 和 CATALINA_BASE
在整个文档中,引用了以下两个属性:
- CATALINA_HOME:代表您的 Tomcat 安装的根目录,例如
/home/tomcat/apache-tomcat-9.0.10
或C:\Program Files\apache-tomcat-9.0.10
。 - CATALINA_BASE:表示特定 Tomcat 实例的运行时配置的根。如果您想在一台机器上拥有多个 Tomcat 实例,请使用该
CATALINA_BASE
属性。
比如说是我们idea 里面开启Tomcat 的日志
Using CATALINA_BASE: "C:\Users\1\AppData\Local\JetBrains\IntelliJIdea2021.1\tomcat\e95d03b6-0663-42ce-b517-f9404b984fcb"
Using CATALINA_HOME: "D:\Desktop\work\DevSoft\tomcat\apache-tomcat-7\apache-tomcat-7.0.108"
如果将属性设置为不同的位置,则 CATALINA_HOME 位置包含静态源,例如.jar
文件或二进制文件。理解为tomcat的安装目录
CATALINA_BASE 位置包含配置文件、日志文件、部署的应用程序和其他运行时要求。可以理解是运行目录
5.为什么使用 CATALINA_BASE
默认情况下,CATALINA_HOME 和 CATALINA_BASE 指向同一目录。当您需要在一台机器上运行多个 Tomcat 实例时,手动设置 CATALINA_BASE。这样做有以下好处:
- 更轻松地管理升级到更新版本的 Tomcat。因为具有单个 CATALINA_HOME 位置的所有实例共享一组
.jar
文件和二进制文件,所以您可以轻松地将文件升级到更新版本,并将更改传播到使用相同 CATALIA_HOME 目录的所有 Tomcat 实例。 因为就是一个安装目录替换就好了,只需要维护一个 - 避免重复相同的静态
.jar
文件。 - 共享某些设置的可能性,例如
setenv
shell 或 bat 脚本文件(取决于您的操作系统)。
6. CATALINA_BASE 的内容
在开始使用 CATALINA_BASE 之前,首先考虑并创建 CATALINA_BASE 使用的目录树。请注意,如果您没有创建所有推荐的目录,Tomcat 会自动创建这些目录。如果无法创建必要的目录,例如由于权限问题,Tomcat 将无法启动,或者可能无法正常运行。
考虑以下目录列表:(查找逻辑在代码tomcat的启动代码里面有 大概是在 是在Bootstrap.init)
-
在
bin
与目录setenv.sh
,setenv.bat
和tomcat-juli.jar
文件。推荐:没有。
*查找顺序:*先检查CATALINA_BASE;回退提供给 CATALINA_HOME。
-
lib
要在类路径上添加更多资源 的目录。*推荐:*是,如果您的应用程序依赖于外部库。
*查找顺序:*先检查CATALINA_BASE;CATALINA_HOME 第二次加载。
-
该
logs
目录实例特定的日志文件。*推荐:*是的。
-
webapps
自动加载的 Web 应用程序 的目录。*推荐:*是,如果您要部署应用程序。
*查找顺序:*仅限 CATALINA_BASE。
-
该
work
包含用于部署的Web应用程序的临时工作目录目录。*推荐:*是的。
-
该
temp
临时文件使用的JVM目录。*推荐:*是的。
我们建议您不要更改tomcat-juli.jar
文件。但是,如果您需要自己的日志记录实现,您可以替换tomcat-juli.jar
特定 Tomcat 实例的 CATALINA_BASE 位置中的文件。
我们还建议您将CATALINA_HOME/conf
目录中的所有配置文件复制 到该 CATALINA_BASE/conf/
目录中。如果 CATALINA_BASE 中缺少配置文件,则不会回退到 CATALINA_HOME。因此,这可能会导致故障。
至少,CATALINA_BASE 必须包含:
- conf/server.xml
- 配置文件/web.xml
7.配置Tomcat
本节将让您熟悉在容器配置过程中使用的基本信息。
在启动时读取配置文件中的所有信息,这意味着对文件的任何更改都需要重新启动容器。