目录
Tomcat 服务器的配置主要集中于 tomcat/conf 下的 catalina.policy 、 catalina.properties、 context.xml 、 server.xml 、 tomcat-users.xml 、 web.xml 文件。 server.xml 是 tomcat 服务器的核心配置文件,包含了 Tomcat 的 Servlet 容器 (Catalina )的所有配置。由于配置的属性特别多,我们在这里主要讲解其中的一部分重要配置。
1.Server
Server 是 server.xml 的根元素,用于创建一个 Server 实例,默认使用的实现类是org.apache.catalina.core.StandardServer。...
port : Tomcat 监听的关闭服务器的端口。 shutdown : 关闭服务器的指令字符串。 Server 内嵌的子元素为 Listener 、 GlobalNamingResources 、 Service 。 默认配置的 5 个 Listener 的含义:
GlobalNamingResources 中定义了全局命名服务:
2.Service
该元素用于创建 Service 实例,默认使用 org.apache.catalina.core.StandardService 。默认情况下,Tomcat 仅指定了 Service 的名称, 值为 "Catalina" 。 Service 可以内嵌的 元素为 :Listener 、 Executor 、 Connector 、 Engine ,其中 : Listener 用于为 Service 添加生命周期监听器, Executor 用于配置 Service 共享线程池, Connector 用于配置 Service 包含的链接器, Engine 用于配置 Service 中链接器对应的 Servlet 容器引擎。...
一个 Server 服务器,可以包含多个 Service 服务。 3 .Executo
默认情况下, Service 并未添加共享线程池配置。 如果我们想添加一个线程池, 可以在下添加如下配置:
属性说明: 如果不配置共享线程池,那么Catalina 各组件在用到线程池时会独立创建。
4 .Connector
Connector 用于创建链接器实例。默认情况下, server.xml 配置了两个链接器,一个支持HTTP 协议,一个支持 AJP 协议。因此大多数情况下,我们并不需要新增链接器配置,只是根据需要对已有链接器进行优化。
属性说明: 1 ) port : 端口号, Connector 用于创建服务端 Socket 并进行监听, 以等待客户端请求 链接。如果该属性设置为0 , Tomcat 将会随机选择一个可用的端口号给当前 Connector使用。 2 ) protocol : 当前 Connector 支持的访问协议。 默认为 HTTP/1.1 , 并采用自动切换机制选择一个基于 JAVA NIO 的链接器或者基于本地 APR 的链接器(根据本地是否含有Tomcat的本地库判定)。如果不希望采用上述自动切换的机制, 而是明确指定协议, 可以使用以下值。 Http 协议: org.apache.coyote.http11.Http11NioProtocol , 非阻塞式 Java NIO 链接器org.apache.coyote.http11.Http11Nio2Protocol , 非阻塞式 JAVA NIO2 链接器org.apache.coyote.http11.Http11AprProtocol , APR 链接器
AJP 协议 : org.apache.coyote.ajp.AjpNioProtocol , 非阻塞式 Java NIO 链接器 org.apache.coyote.ajp.AjpNio2Protocol ,非阻塞式 JAVA NIO2 链接器 org.apache.coyote.ajp.AjpAprProtocol , APR 链接器3 ) connectionTimeOut : Connector 接收链接后的等待超时时间, 单位为 毫秒。 -1 表示不超时。 4 ) redirectPort :当前 Connector 不支持 SSL 请求, 接收到了一个请求, 并且也符合 security-constraint 约束, 需要 SSL 传输, Catalina 自动将请求重定向到指定的端口。 5 ) executor : 指定共享线程池的名称, 也可以通过 maxThreads 、 minSpareThreads等属性配置内部线程池。 6 ) URIEncoding : 用于指定编码 URI 的字符编码, Tomcat8.x 版本默认的编码为 UTF-8 , Tomcat7.x版本默认为 ISO-8859-1 。
完整的配置如下:
5.Engine
Engine 作为 Servlet 引擎的顶级元素,内部可以嵌入: Cluster 、 Listener 、 Realm 、 Valve和 Host 。...
属性说明: 1 ) name : 用于指定 Engine 的名称, 默认为 Catalina 。该名称会影响一部分 Tomcat 的 存储路径(如临时文件)。 2 ) defaultHost : 默认使用的虚拟主机名称, 当客户端请求指向的主机无效时, 将交 由默认的虚拟主机处理, 默认为 localhost 。 6 .Host
Host 元素用于配置一个虚拟主机, 它支持以下嵌入元素: Alias 、 Cluster 、 Listener 、 Valve、 Realm 、 Context 。如果在 Engine 下配置 Realm , 那么此配置将在当前 Engine 下 的所有Host 中共享。 同样,如果在 Host 中配置 Realm , 则在当前 Host 下的所有 Context 中共享。Context 中的 Realm 优先级 > Host 的 Realm 优先级 > Engine 中的 Realm 优先级。...
属性说明: 1 ) name: 当前 Host 通用的网络名称, 必须与 DNS 服务器上的注册信息一致。 Engine 中 包含的 Host 必须存在一个名称与 Engine 的 defaultHost 设置一致。 2 ) appBase : 当前 Host 的应用基础目录, 当前 Host 上部署的 Web 应用均在该目录下 (可以是绝对目录,相对路径)。默认为 webapps 。 3 ) unpackWARs : 设置为 true , Host 在启动时会将 appBase 目录下 war 包解压为目 录。设置为 false , Host 将直接从 war 文件启动。 4 ) autoDeploy : 控制 tomcat 是否在运行时定期检测并自动部署新增或变更的 web 应 用。 通过给 Host 添加别名,我们可以实现同一个 Host 拥有多个网络名称,配置如下: www.web2.com
这个时候,我们就可以通过两个域名访问当前 Host 下的应用(需要确保 DNS 或 hosts 中添 加了域名的映射配置)。 7.Context
Context 用于配置一个 Web 应用,默认的配置如下:....
属性描述: 1 ) docBase : Web 应用目录或者 War 包的部署路径。可以是绝对路径,也可以是相对于 Host appBase 的相对路径。 2 ) path : Web 应用的 Context 路径。如果我们 Host 名为 localhost , 则该 web 应用访问 的根路径为: http://localhost:8080/myApp 。 它支持的内嵌元素为: CookieProcessor , Loader , Manager , Realm , Resources , WatchedResource , JarScanner , Valve 。
该配置文件中,主要配置的是 Tomcat 的用户,角色等信息,用来控制 Tomcat 中 manager, host-manager 的访问权限。来源地址:https://blog.csdn.net/qq_61313896/article/details/128898757