Tomcat的server.xml位于conf目录下,是服务启动时的核心配置文件,所有网络监听、虚拟主机定义等核心逻辑都通过该文件配置实现,其中Connector和Host是最常需要修改的两个组件。

server.xml基础结构说明
server.xml的整体结构采用层级嵌套设计,最外层是<Server>标签,内部包含<Service>,<Service>下再分别定义<Connector>和<Engine>,<Engine>内部则包含多个<Host>标签,整体层级关系如下:
<Server port="8005" shutdown="SHUTDOWN">
<Service name="Catalina">
<Connector port="8080" protocol="HTTP/1.1" />
<Engine name="Catalina" defaultHost="localhost">
<Host name="localhost" appBase="webapps" />
</Engine>
<Service>
<Server>
Connector配置详解
Connector的作用是监听指定端口的网络请求,将请求转发给内部的Engine处理,同时把处理结果返回给客户端。Tomcat支持多种Connector类型,最常用的是HTTP Connector和AJP Connector。
HTTP Connector常用配置项
HTTP Connector用于处理HTTP协议的请求,日常开发中访问Tomcat应用基本都是通过该组件实现,常用配置参数如下:
- port:监听的端口号,默认是8080,可修改为其他未被占用的端口,比如80端口可以直接通过域名访问无需加端口号
- protocol:使用的协议,可选值有HTTP/1.1、org.apache.coyote.http11.Http11NioProtocol等,NIO协议在高并发场景下性能更好
- connectionTimeout:连接超时时间,单位是毫秒,默认是20000,即20秒
- redirectPort:当请求需要SSL传输时,重定向到的端口,通常与HTTPS Connector的端口一致
- maxThreads:处理请求的最大线程数,默认是200,可根据服务器性能调整
- minSpareThreads:最小空闲线程数,默认是10
HTTP Connector配置示例
以下是一个优化后的HTTP Connector配置示例,适配普通并发量的Web应用:
<Connector port="8080"
protocol="org.apache.coyote.http11.Http11NioProtocol"
connectionTimeout="30000"
redirectPort="8443"
maxThreads="500"
minSpareThreads="20"
URIEncoding="UTF-8" />
其中URIEncoding设置为UTF-8可以避免中文参数乱码问题,如果是AJP Connector,通常只需要配置端口和协议即可,用于和Apache等前端服务器集成。
Host配置详解
Host对应虚拟主机的概念,一个Host可以对应一个域名,Tomcat可以在同一个实例中配置多个Host,实现多个域名指向不同应用的效果。
Host常用配置项
- name:虚拟主机的域名,比如配置为www.test.com,当请求的Host头是该域名时就会匹配到这个Host
- appBase:应用部署的基础目录,默认是webapps,该目录下的应用会被自动部署
- unpackWARs:是否自动解压WAR包,默认是true,设置为false的话WAR包会直接运行不解压
- autoDeploy:是否自动部署应用,默认是true,当appBase目录下有新应用或者应用更新时会自动部署
- deployOnStartup:启动时是否部署appBase下的应用,默认是true
Host配置示例
以下是一个自定义Host的配置示例,将域名www.test.com映射到/opt/tomcat/testapps目录下的应用:
<Host name="www.test.com"
appBase="/opt/tomcat/testapps"
unpackWARs="true"
autoDeploy="true">
<!-- 可以配置Context定义单个应用的访问路径 -->
<Context path="/demo" docBase="/opt/tomcat/demo" reloadable="true" />
</Host>
其中Context标签用于定义单个应用的访问路径,path是访问路径,docBase是应用的实际存放路径,reloadable设置为true时,应用修改后会自动重新加载,开发环境可以开启,生产环境建议关闭。
配置注意事项
修改server.xml后需要重启Tomcat才能生效,配置Connector时要注意端口不要和其他服务冲突,特别是修改默认端口时可以先通过netstat命令查看端口占用情况。配置多个Host时要确保每个Host的name唯一,否则会导致请求匹配异常。如果配置了自定义Host,需要把对应的域名解析到Tomcat服务器的IP地址,才能正常访问。
另外不建议直接修改默认的localhost Host配置,尽量新增Host或者调整参数,避免影响原有默认应用的运行。如果配置过程中出现问题,可以查看Tomcat的logs目录下的catalina.out日志,根据错误提示排查配置问题。
Tomcatserver.xmlConnectorHostweb服务器配置修改时间:2026-07-09 16:45:35