在tomcat6.5+上配置虚拟主机
一 准备(必须配置,否则不能解析域名到ip)
www.test1.com
www.test2.com
为了测试方便,请在客户机的:
Win2K://WINNT/system32/drivers/etc/hosts
Linux:/etc/hosts
文件中增加下面内容,然后检查一下这两个域名是否解析正确。
192.168.0.1 www.test1.com
192.168.0.1 www.test2.com
当然,在生产环境中这样做是不行的,需要的在 DNS 上做相应的域名解析。
二 Tomcat安装
将 tomcat 目录下的 webapps 目录在同一目录复制一份,目录名分为 webapps2 ,然后将 webapps 目录改名 为 webapps1 。最后 tomcat 的目录结构大致如下:
tomcat|--bin
|--common
|--conf
|--logs
|--server
|--shared
......
|--webpapps1
|--webpapps2
|--work
最后,写一个简单 html 文件用于测试,文件名为 test.html ,文件内容如下:
<HTML>
<HEAD>
<TITLE>测试</TITLE>
</HEAD>
<BODY>
<P align="center">你现在访问的是 <FONT COLOR="#FF0000">www.test1.com</FONT></P>
</BODY>
</HTML>
将 test.html 文件分别在 tomcat/webapps1/ROOT、tomcat/webapps2/ROOT 目录放置一份,然后将 tomcat/webapps2/ROOT/test.html 文件内容中“www.test1.com”改为“www.test2.com”。
至此,前期的准备工作做完了,全是一些体力活。
三 配置虚拟主机
配置 www.test1.com虚拟主机
打开 tomcat/conf/server.xml 文件,将 Host 元素之间的内容全部删掉,然后把下面内容加如到 Host 元素 原来的位置。
<Host name="www.test1.com" debug="0" appBase="webapps1"
unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs" prefix="sentom1_access_log." suffix=".txt"
pattern="common" resolveHosts="false"/>
<Logger className="org.apache.catalina.logger.FileLogger"
directory="logs" prefix="sentom1_log." suffix=".txt"
timestamp="true"/>
</Host>
配置 www.test2.com 虚拟主机
将下面内容追加到 Host 元素后面,注意 Host 元素中 name 属性和 appBase 属性的值的变化。
<Host name="www.test2.com" debug="0" appBase="webapps2"
unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs" prefix="sentom2_access_log." suffix=".txt"
pattern="common" resolveHosts="false"/>
<Logger className="org.apache.catalina.logger.FileLogger"
directory="logs" prefix="sentom2_log." suffix=".txt"
timestamp="true"/>
</Host>
现在可以启动 Tomcat 了,分别访问
http://www.test1.com:8088/test.html
http://www.test2.com:8088/test.html
如果访问得到的页面内容分别是下面的内容,那表明虚拟主机已经配置成功了。否则,请检查你的配置过程并 重新按照文档配置。
你现在访问的是 www.test1.com
你现在访问的是 www.test2.com
http://jakarta.apache.org/tomcat/