<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"></Host>其中localhost就是本機的域名,在hosts文件中可以看到一句話:localhost name resolution is handled within DNS itself.即localhost指向的是本機,127.0.0.1這個ip。通過修改和添加Host可以增加tomcat的虛擬主機,並綁定域名。
127.0.0.1 www.xxx.com 127.0.0.1 admin.xxx.com接下來在tomcat中配置虛擬主機
tomcat ├─admin │ └─war ├─sm │ └─war稍後解釋為什麼目錄這麼建。
<Host name="www.xxx.com" appBase="sm" unpackWARs="true" autoDeploy="true"> <Context path="" docBase="./war/sm.war" /> </Host> <Host name="admin.xxx.com" appBase="admin" unpackWARs="true" autoDeploy="true"> <Context path="" docBase="./war/admin.war" /> </Host>說明一下其中的參數
這裡有幾點要說明的:
剛剛在建立目錄的時候為什麼要建立war目錄
在appBase中指定的根目錄中如果有war包,tomcat就會加載到內存中去,而子目錄裡的war包不會。也可以把war包扔到appBase意外的其他目錄去,Context的docBase裡指定就可以了。
為什麼不把war包都放在webapps裡
由於我的path配置是“”(空字符串),默認會解壓到ROOT目錄中去,如果都放在webapps裡,就都會解壓到ROOT