在 tomcat 上配置虚拟主机
2007-12-11 17:08
在 tomcat 上配置虚拟主机
2007-01-19 23:33
一 准备
我们将配置两台虚拟主机,假设域名分别为
www.sentom1.net
www.sentom2.net
为了测试方便,请在客户机的:
win2k:\\winnt\system32\drivers\etc\hosts
linux:/etc/hosts
文件中增加下面内容,然后检查一下这两个域名是否解析正确。
192.168.0.1 www.sentom1.net
192.168.0.1 www.sentom2.net
当然,在生产环境中这样做是不行的,需要的在 dns 上做相应的域名解析。
二 tomcat安装
tomcat
的安装不在本文的讨论范围,请参考这里。请确保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.sentom1.net</font></p>
</body>
</html>
将 test.html 文件分别在
tomcat/webapps1/root、tomcat/webapps2/root 目录放置一份,然后将
tomcat/webapps2/root/test.html
文件内容中“www.sentom1.net”改为“www.sentom2.net”。
至此,前期的准备工作做完了,全是一些体力活。
三 配置虚拟主机
前面提到了独立 ip 和共享的 ip。本文介绍的是共享的 ip 模式,这种模式就是所有的虚拟主机都使用同一 ip
。目前国内 idc 提供的虚拟主机都是这种模式。这种模式的优点是节约数量有限的 ip ,缺点就是虚拟主
机只能通过域名访问而不能通过 ip 访问(其实也不算是缺点,只对邮件系统中用户的访问方式有一点点影响
)。而另外一种独立 ip 模式主要应用在邮件服务中,这里就不做介绍了。
配置 www.sentom1.net 虚拟主机
打开 tomcat/conf/server.xml 文件,将 host
元素之间的内容全部删掉,然后把下面内容加如到 host 元素 原来的位置。
<host name="www.sentom1.net" 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.sentom2.net 虚拟主机
将下面内容追加到 host 元素后面,注意 host 元素中 name 属性和 appbase 属性的值的变化。
<host name="www.sentom2.net" 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.sentom1.net:8080/test.html
http://www.sentom2.net:8080/test.html
如果访问得到的页面内容分别是下面的内容,那表明虚拟主机已经配置成功了。否则,请检查你的配置过程并
重新按照文档配置。
你现在访问的是 www.sentom1.net
你现在访问的是 www.sentom2.net