前言

这里总结了环境搭建,以及一些注意点和配置

Tomcat

安装

windows

官网下载压缩包解压就行 我这里用的Tomcat9

linux

1
2
3
4
mkdir /usr/local/tomcat
cd /usr/local/tomcat
wget -c https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.75/bin/apache-tomcat-9.0.75.tar.gz # 下载
tar -zxvf apache-tomcat-9.0.75.tar.gz

目录解释

Tomcat 的安装目录结构中包含一些关键的子目录,每个目录都有特定的目的和用途:

  1. bin:这个目录包含了用来启动和停止 Tomcat 服务的脚本文件。例如,在 Linux 系统上,你可以使用 ./startup.sh./shutdown.sh 来启动和停止服务。

  2. conf:这个目录包含了 Tomcat 服务的所有配置文件,例如 server.xmlcontext.xmltomcat-users.xml 等。这些文件允许你定制 Tomcat 的行为,例如修改默认端口、配置虚拟主机等。

  3. lib:这个目录包含了 Tomcat 服务运行所需的所有 Java 库。这包括 Tomcat 的核心库,以及用于处理 JSP、servlet 等的库。如果你需要添加全局可用的库,可以将它们放在这个目录下。

  4. logs:这个目录包含了 Tomcat 服务的所有日志文件。你可以通过查看这些文件来了解 Tomcat 在运行过程中是否出现了任何问题。

  5. webapps:这个目录是 Tomcat 默认的 web 应用部署目录。你可以将你的 .war 文件或解压后的 web 应用目录放在这里,Tomcat 就会自动加载和运行它们。

  6. temp:这个目录被 Tomcat 用作临时文件的存放位置。在处理大型上传文件或编译 JSP 文件时,Tomcat 会在这个目录中创建临时文件。

  7. work:这个目录是 Tomcat 用来存放 JSP 文件编译后生成的 servlet 类的地方。这个目录的内容通常不需要手动管理,Tomcat 会自动处理。

以上就是 Tomcat 安装目录下各个主要子目录的作用

配置

Tomcat 的 conf 目录包含了多个配置文件,用于定制 Tomcat 的行为。以下是 conf 目录中主要的配置文件:

  1. server.xml:这是 Tomcat 的主配置文件,定义了 Tomcat 服务的一般行为,包括监听的端口、安装的 web 应用、虚拟主机等。

  2. web.xml:这是全局的 Servlet 配置文件,提供了所有 web 应用的默认设置。这个文件中的设置可以被部署的 web 应用的 WEB-INF/web.xml 文件中的设置覆盖。

  3. context.xml:这个文件定义了 Tomcat 服务器中所有 web 应用的上下文(Context)设置。这个文件中的设置可以被部署的 web 应用的 META-INF/context.xml 文件中的设置覆盖。

  4. tomcat-users.xml:这个文件用于配置 Tomcat 的用户和角色,以便于进行基于角色的访问控制。

  5. catalina.properties:这个文件定义了一些系统属性,例如类加载器的配置、Tomcat 内部使用的一些目录等。

  6. logging.properties:这个文件定义了 Tomcat 的日志行为,例如日志级别、日志输出格式、日志文件的位置等。

每个文件都有其特定的用途和格式,修改这些文件可以让你定制 Tomcat 的行为以满足你的需求。在修改这些文件时,需要遵循相应的 XML 或 properties 文件格式,否则可能导致 Tomcat 启动失败。在修改前,建议备份原始文件,以便于出现问题时能够迅速恢复。

server.xml

Tomcat的server.xml文件是服务器的主配置文件,包含了与Tomcat服务器实例的行为有关的所有配置。以下是server.xml文件中一些主要的配置元素:

  1. Server:这个元素代表着Tomcat实例本身,它是配置文件中最顶层的元素。其中的属性包括:

    • port:用于监听关闭命令的端口,默认值是8005。
    • shutdown:用于关闭Tomcat的字符串命令,默认值是"SHUTDOWN"。
  2. Service:这个元素包含了一个或多个Connector元素和一个Engine元素。它代表着能够接收请求并返回响应的Tomcat服务。

  3. Connector:这个元素代表着一个具体的连接器,用于处理特定协议的请求。例如,一个处理HTTP请求的连接器,一个处理AJP请求的连接器等。它的一些主要属性包括:

    • port:连接器监听请求的端口。
    • protocol:连接器使用的协议,例如HTTP/1.1或AJP/1.3。
    • connectionTimeout:连接超时时间,单位是毫秒。
    • redirectPort:如果客户端请求一个需要HTTPS的页面,但是请求是使用HTTP协议发出的,那么请求将被重定向到这个端口。
  4. Engine:这个元素代表了处理请求的引擎。每个Service元素都需要有一个Engine元素。其中的一些属性包括:

    • name:引擎的名字。
    • defaultHost:如果请求的主机名没有匹配到任何Host元素,那么将使用这个属性指定的Host来处理请求。
  5. Host:这个元素代表了一个虚拟主机。在一个Engine元素中可以有多个Host元素,每个Host元素都有自己的appBase属性,用于指定部署web应用的目录。其中的一些属性包括:

    • name:虚拟主机的名字,通常是一个完全限定的域名。
    • appBase:部署web应用的目录。如果路径是相对路径,那么它是相对于catalina.base系统属性指定的目录。
  6. Context:这个元素代表了一个web应用。它可以在Host元素中定义,也可以在单独的XML文件中定义。其中的一些属性包括:

    • path:web应用的访问路径。
    • docBase:web应用的目录或war文件位置。如果路径是相对路径,那么它是相对于appBase指定的目录。

这些就是server.xml中的一些主要配置元素。

如果需要一个服务器有多个Tomcat,一定要修改几个地方, 一个是 监听命令的端口, 一定不能冲突, 还有就是连接监听端口, 如果配置了HTTPS的话,一定还要修改被重定向端口和HTTPS处理端口

日志文件

logs 目录通常包含以下的日志文件:

  1. catalina.out: 这个文件记录了 Tomcat 的标准输出和标准错误信息。包含了所有写入到 System.outSystem.err 的内容。通常包含有关 Tomcat 启动、运行和关闭过程中的信息。
  2. catalina.[date].log: 这个文件包含了 Catalina 容器的日志信息,包括启动和关闭的信息,以及运行过程中的错误和警告信息。
  3. localhost.[date].log: 这个文件包含了名为 “localhost” 的虚拟主机的日志信息,主要包含对应的 web 应用的错误和警告信息。
  4. manager.[date].loghost-manager.[date].log: 这两个文件分别包含了 “manager” 应用和 “host-manager” 应用的日志信息,主要包含应用运行过程中的错误和警告信息。
  5. localhost_access_log.[date].txt: 这个文件是 HTTP 访问日志,记录了所有到 “localhost” 虚拟主机的 HTTP 请求。包含请求的时间、源 IP 地址、请求的 HTTP 方法、请求的 URL、HTTP 版本、响应的状态码、响应的字节数和请求处理的耗时等信息。

这些日志文件可以提供有关 Tomcat 运行状态和运行中出现的问题的重要信息,对于故障排查和系统监控都非常有帮助。