在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"目錄
爲虛擬主機配置虛擬目錄:
方式1、增長虛擬主機"Contex"元素,"path"屬性爲虛擬目錄名,"docBase"爲該虛擬路徑對應的物理路徑
如要配置缺省,則"path"屬性值留空。
方式2、在"tomcat\conf\catalina\www.hitech.com"目錄下建立"desc.xml",則"desc"爲當前虛擬目錄名
如要配置缺省,則重命名desc.xml爲"ROOT.xml"(需大寫)
方式3、直接複製web應用目錄到虛擬主機根目錄,則虛擬目錄名爲該目錄名
如要配置缺省,則重命名該目錄名爲"ROOT"(需大寫)
實驗結論:當方式一和方式二存在時,方式一輩子效;
當方式一和方式三存在時,方式一輩子效;
當方式二和方式三存在葉,方式二生效;
當方式1、方式二和方式三都存在時,只有方式一輩子效。web