虚拟主机
虚拟主机也称共享主机、虚拟服务器,它通过虚拟化技术将物理服务器划分为多个独立环境,在单一主机或主机群上运行多个网站或服务,虚拟主机之间完全独立,不仅能提高资源利用率,还能满足多样化的业务需求。
配置详解
1、在主配置文件conf/server.xml中,一个Engine标签中可以配置多个Host标签,一个Host标签定义一个虚拟主机。在Tomcat的默认引擎Catalina中定义了一个默认的虚拟主机localhost。

2、默认虚拟主机localhost的web应用程序根目录由属性appBase指定,默认值为webapps;虚拟主机的日志文件由标签Valve指定,日志文件位于directory属性指定的目录logs中,文件名称前缀prefix为localhost_access_log、后缀suffix为.txt,日志内容的格式由pattern指定。

配置示例
本节示例通过配置虚拟主机实现将日期网站放在目录/usr/local/tomcat/dateApp/ROOT中显示当前日期,使用域名date.test.com访问;时间网站放在目录/usr/local/tomcat/timeApp/ROOT中显示当前时间,使用域名time.test.com访问。
网站内容
本节的两个示例网站包含jsp页面、图片和css样式表。除jsp页面外,两个网站的图片与样式表均一样。

1、index.jsp:jsp动态网站首页。
1.1、日期网站首页index.jsp内容如下。

1.2、时间网站首页index.jsp内容如下:

2、style.css:网页样式表。

3、clock.jpg:网页图片。

网站配置
1、修改主配置文件conf/server.xml,在Engine标签中新增两个虚拟主机的配置,分别对应域名date.test.com和time.test.com的两个主机。虚拟主机的定义使用Host标签,标签中的name属性对应主机域名,appBase属性为虚拟主机应用程序部署的根目录;Valve标签中的日志文件可以根据需要修改,也可直接使用默认设置。

访问测试
1、修改windows系统本地DNS配置文件:C:\Windows\System32\drivers\etc\hosts,增加以下配置项,将域名与对应的IP地址绑定,实现本地的域名解析,示例中网站的IP为192.168.8.21。

2、在浏览器直接输入域名和8080端口访问网站,JSP应用部署在默认应用程序根目录ROOT中,网站首页默认为index.jsp,访问两者都可省略。
2.1、访问http://date.test.com:8080/,显示当前日期。

2.2、访问http://time.test.com:8080/,显示当前时间。

查看日志
1、查看日志文件logs/localhost_access_log.xxxx-xx-xx.txt(xxxx-xx-xx为年月日字符串)。
