server.xml是Tomcat主要的配置文件之一,位于$CATALINA_HOME/conf/目录下。这个XML格式的文件负责配置Tomcat服务器的核心组件,包括服务、连接器(Connector)、引擎(Engine)、虚拟主机(Host)和上下文(Context)。通过编辑server.xml文件,可以对Tomcat服务器进行细致的配置,以满足不同的部署需求。server.xml文件中的一些关键配置元素如下:
- Server:配置文件的顶层元素,代表Tomcat服务器本身。在此元素中可以配置一些全局属性,如端口号(用于关闭Tomcat的端口,不是用于服务请求)、关闭命令等。
- Service:服务,一个Tomcat实例可以包含多个Service,每个Service代表一组功能完整的服务,如一组Connector和一个Engine。
- Connector:连接器,负责接收客户端的请求并将其传递给Tomcat处理。可以配置多个Connector,支持不同的协议(如HTTP/1.1、AJP)或监听不同的端口。
- Engine:引擎,处理所有通过Connector接收的请求。一个Service中有一个Engine,它负责管理虚拟主机(Host)。
- Host:虚拟主机,代表一个虚拟的服务器,通过虚拟主机可以同时部署多个Web应用。一个Engine可以包含多个Host,每个Host都可以有自己的应用上下文(Context)。
- Context:上下文,代表一个Web项目的运行环境。Context可以定义在server.xml中,也可以通过单独的context.xml文件来配置。它包含了关于Web项目的配置信息,如路径、文档根目录、会话管理策略等。
- Realm:域元素,用于配置安全相关的信息,如用户认证和授权。
- Valve:阀门,提供位于管道中的请求的处理步骤,可以用于日志记录、IP过滤、请求重定向等。
- Executor:执行器,允许定义线程池,这些线程池可以被多个Connector共享,以优化资源使用和提高性能。