一、Tomcat体系结构

从conf/server.xml可体现Tomcat的体系。一个Server可有多个service,一个service可以有多个连接器connector,每个连接器暴露出不同的端口进行不同的操作。比如图示的JK连接器程序通过一个connector进行集群处理,不需要集群的时候可以将该connector在配置文件中删除,做到了可插拔式。该图参考张孝祥老师tomcat视频。

二、基于端口号的虚拟主机
一个server可以有多个service,新增service2:

<Service name="service2">

<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

<Engine name="Catalina2" defaultHost="www.xy1.com">

<Host name="www.xy1.com"  appBase="E:\apache-tomcat-test_project\virtualHost1\"

unpackWARs="true" autoDeploy="true"

xmlValidation="false" xmlNamespaceAware="false" />

<Host name="www.xy2.com"  appBase="E:\apache-tomcat-test_project\virtualHost2\"

unpackWARs="true" autoDeploy="true"

xmlValidation="false" xmlNamespaceAware="false" />

</Engine>

</Service>

加上已有的默认<Service name="Catalina">暴露的默认端口8080,在启动该tomcat之后可以通过两个不同的端口进行访问:

http://www.xy1.com:80/testIndex.html
http://www.xy1.com:8080/testIndex.html