虽然接触tomcat很长时间了,但是配置tomcat虚拟机还是头一次,记录了一下过程。需要修改tomcat的server.xml文件。在默认情况下,tomcat会有一个虚拟主机localhost,下图是server.xml文件的部分截图:
设置第二个虚拟主机,需要在原有的</Host>和</Engine>两个结束标签之间加入
<Host name="www.myweb.com" debug="0" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="D:\myapp\myweb\" debug="1" reloadable="true" allowLinking="true"></Context>
</Host>
其中name=”www.myweb.com”是你的虚拟主机的域名,如果你希望 www.myweb.com 和myweb.com都指向相同的虚拟主机和程序,需要加入<Alias>标签,如下:
<Host name="www.myweb.com" debug="0" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Alias>myweb.com</Alias>
<Context path="" docBase="D:\myapp\myweb\" debug="1" reloadable="true" allowLinking="true"></Context>
</Host>
当然前提是myweb.com和 www.myweb.com 都在dns服务器上注册过了。
其中,appBase指你的程序路径,也可以用绝对路径;
unpackWARs指是否解压war文件,如果为true,就会自动解压myweb下的war文件;
autoDeploy指在tomcat运行时,是否自动部署,也就是如果在tomcat运行过程中,修改了myweb程序,如果设置autuDeploy为true,tomcat会自动加载修改后的程序,否则需要重启tomcat,修改内容才会生效;
Context标签中docBase指web程序的绝对路径或者是Host标签中的appBase路径下的相对路径。
OK,启动tomcat,访问一下 www.myweb.com ,如果myweb正确的话,就会出现myweb下的web站点。
tomcat6的虚拟主机官方配置见: http://tomcat.apache.org/tomcat-6.0-doc/virtual-hosting-howto.html