在tomcat中添加虚拟主机:
编辑"tomcat\conf\server.xml",在"<Engine></Engine>"元素中新加子元素"<Host></Host>",如下:
</Host>
<Host name="www.hitech.com" appBase="F:\Cyan" unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="www.hitech.com_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<Context path="" docBase="hitech"/>
<Context path="doc" docBase="doc"/>
</Host>
解读配置文件:
name="www.hitech.com" -- 虚拟主机的主机名,也就是将来用户通过互联网请求的主机地址。
appBase="F:\Cyan" -- 当前虚拟主机管理的根目录
unpackWARs="true"和autoDeploy="true" -- 仅当两个属性值都为"true"时,发布到当前虚拟主机根目录的war才自动包解压
prefix="www.hitech.com_access_log." -- 配置当前虚拟主机的日志文件
directory="logs" -- 配置当前虚拟主机的日志文件存放目录
<Context path="" docBase="hitech"/> -- 配置当前虚拟主机的默认web应用,其对应的物理路径为虚拟主机根目录下的"hitech"目录
<Context path="doc" docBase="doc"/> -- 配置虚拟路径"doc",对应物理目录为当前主机根目录下的"doc"目录
为虚拟主机配置虚拟目录:
方式一、增加虚拟主机"Contex"元素,"path"属性为虚拟目录名,"docBase"为该虚拟路径对应的物理路径
如要配置缺省,则"path"属性值留空。
方式二、在"tomcat\conf\catalina\www.hitech.com"目录下创建"desc.xml",则"desc"为当前虚拟目录名
如要配置缺省,则重命名desc.xml为"ROOT.xml"(需大写)
方式三、直接复制web应用目录到虚拟主机根目录,则虚拟目录名为该目录名
如要配置缺省,则重命名该目录名为"ROOT"(需大写)
实验结论:当方式一和方式二存在时,方式一生效;
当方式一和方式三存在时,方式一生效;
当方式二和方式三存在叶,方式二生效;
当方式一、方式二和方式三都存在时,只有方式一生效。