server.xml的基本结构如下:
下面是对各元素的一些说明:
<Server>
每个<Server>中可以有多个<Service>,而<Service>大约对应一个IP地址,这样Tomcat就可以同时管理多个IP地址,也就是说它有建立服务器集群的能力。
<Service>
每个<Service>原色由一个或多个Connector组成,另外还包括一个Engine,负责处理所有Connector所获得的客户请求。
简单地说<Service>对应一个IP地址。
<Connector>
每个<Service>z中可以包括多个Connector,每个Connector监听<Service>所对应IP地址的IP的一个端口。默认端口为8080,另一个常监听的端口是8009,用于监听来自其它Web Server(Apache)的Servlet/JSP代理请求。
<Engine>
每个<Service>中只有一个<Engine>。<Engine>负责处理Connector所获得的客户请求。简单地说,一个Engine对应一个IP地址和几个端口号组成的地址。
这几个端口号与<Connector>所监听的端口号相对应。
<Host>
Host代表一个虚拟主机,每个虚拟主机和一个域名相匹配。每个虚拟主机下都可以部署一个或多个Web App,每个
Web App对应一个Context。
<Context>
每个<Context>元素对应一个Web Applcation(大约就是一个Web工程),每个Web App由一个或多个Servlet组成。(JSP实质上也是Servlet,会被Tomcat转换成Servlet)。Context在创建的时候将根据配置文件$CATALINA_HOME/conf/web.xml和$WEBAPP_HOME/WEB-INF/web.xml载入Servlet。
一句话总结:
- IP地址与域名不一样,多个域名可以解析到同一个IP地址上。
- <Engine>对应一个IP地址+多个端口,可以有多个<Host>(域名)。
- <Host>对应一个域名(Domain Name),可以有多个Context(工程)。
- <Context>对应一个工程(Web App)。
一份Tomcat默认的server.xml文件