1.设置本地主机域名
server.xml 代码
Tomcat的server.xml文件,在初始状态下,只包括一个虚拟主机,但是它容易被扩充到支持多个虚拟主机。增加虚拟主机只要增加完整Host标签即可。每一个Host元素必须包括一个或多个context元素,所包含的context元素中必须有一个是默认的context,这个默认的context的显示路径应该为空(例如,path="")。 |
捆绑的主机名以多个Alias列出即可. <engine></engine>
xml 代码
81行修改了两个参数值:
<connector port="80" maxhttpheadersize="8192"></connector>
修改port是修改 Tomcat的服务端口,默认为8080,URIEncoding改为GB2312是为了使用中文路径 但不建议使用. 125行:<engine name="Catalina" defaulthost="ycoe.vicp.net"></engine>
xml 代码
192行:<host name="ycoe.vicp.net" xmlnamespaceaware="false" xmlvalidation="false" autodeploy="true" unpackwars="true" appbase="webapps"></host>
xml 代码
然后再添加360行开始的<Host><host></host>元素:<host name="yvor.vicp.net" autodeploy="true" unpackwars="true" appbase="webapps"></host>
xml 代码
这里是设置我们的第二个虚拟网站的 域名. ------------------------------------------------------------------ 但不能用 http://ycoe.vicp.net或 http://yvor.vicp.net访问
在这里我自己添加一些感悟:无论是使用虚拟主要还是使用主机别名,最终的这个名称都必须得到NDS域名服务器的支持,即在DNS注册这些名称
如果是在本测试可以直接在hosts文件中进行注册
<engine></engine>
xml 代码
域名不能访问的话,也要注意检查你的 域名是否正确的解析到了当前的ip. bluepure说得对,你先搞定 正确解析当前的ip,再来修改 Tomcat。 在不同机器上运行下面命令:
|
==============================================================================================================
一、打开tomcat安装目录下conf/server.xml这个文件
在server.xml文档中找到
</Engine>
</Service>
接着添加上面添加以下内容(暂时先说分为三种方式):
第一种:
<Host name="www.haokan946.cn" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="www" debug="0" reloadable="true" crossContext="true"/>
<Logger className="org.apache.catalina.logger.FileLogger" directory="logs" prefix="www_5sai_log." suffix=".txt"
timestamp="true"/>
</Host>
以上的内容就是在Tomcat的webapps目录下新建一个www文件夹作为www.haokan946.cn这个域名的主目录
第二种:
<Host name="test.5sai.net.cn" debug="0" appBase="C://test/www" unpackWARs="true" autoDeploy="true">
<Context path="" docBase="."/>
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="test_5sai_access_log."
suffix=".txt" pattern="common" resolveHosts="false"/>
<Logger className="org.apache.catalina.logger.FileLogger" directory="logs" prefix="test_5sai_log." suffix=".txt" timestamp="true"/>
</Host>
以上内容的意思就是在C盘test文件夹下面建立一个www文件夹作为test.5sai.net.cn这个域名的主目录
第三种,如果是linux系统的/var/www作为test.5sai.net.cn这个域名的主目录的话内容如下:
<Host name="test.5sai.net.cn" debug="0" appBase="/var/www" unpackWARs="true" autoDeploy="true">
<Context path="" docBase="."/>
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="test_5sai_access_log."
suffix=".txt" pattern="common" resolveHosts="false"/>
<Logger className="org.apache.catalina.logger.FileLogger" directory="logs" prefix="test_5sai_log." suffix=".txt" timestamp="true"/>
</Host>
再补充一种
<Host name="www.haokan946.cn" debug="0" unpackWARs="true">
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="/var/log/tomcat" prefix="www_5sai_access_log." suffix=".txt"
pattern="common"/>
<Logger className="org.apache.catalina.logger.FileLogger"
directory="/var/log/tomcat" prefix="www_5sai_log." suffix=".txt"
timestamp="true"/>
<Context path="" docBase="/var/www" debug="0" reloadable="true"/>
</Host>
域名www.haokan946.cn的主目录为/var/www 该站点的所有访问LOG放在/ar/log/tomcat里面
测试:
windows用户打开C:/WINDOWS/system32/drivers/etc的hosts这个文件,
linux用户打开/ect的hosts文件或者vi /ect/hosts
修改内容如下
127.0.0.1 localhost
127.0.0.1 www.haokan946.cn
127.0.0.1 test.5sai.net.cn
===============================================================================================
一 准备
我们将配置两台虚拟主机,假设域名分别为
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