通过作用虚拟主机,可以使多个不同域名的网站共存于一个Tomcat中
在tomcat的server.xml文件中添加主机名:
<Host name="hostname" appBase="path/of/webapps">
<Context path="/web1" docBase="path/of/web1"/>
</Host>
host appBase属性 指定WEB应用程序的配置目录。是 tomcat安装目录下的相对路径也可以自定义一绝对目录路径作为webapps应用存放点。 设定例:<Host name="localhost" appBase="webapps" > 譬如当你把 abc.war发布到webapps目录下的时候,通过下面的URL就可以访问了。 http://servername:端口号/abc
Context doBase属性 当你要把WEB应用程序发布到webapps以外的目录下的时候,就要用这个设置。 要指定绝对路径。
<Host name="tomcat" appBase="/home/focus/Templates/webapps" unpackWARs="true" autoDeploy="true"> <!-- SingleSignOn valve, share authentication between web applications Documentation at: /docs/config/valve.html --> <!-- <Valve className="org.apache.catalina.authenticator.SingleSignOn" /> --> <!-- Access log processes all example. Documentation at: /docs/config/valve.html Note: The pattern used is equivalent to using pattern="common" --> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log" suffix=".txt" pattern="%h %l %u %t "%r" %s %b" /> <!--<Context path="/test1" docBase="/home/focus/Templates/webapps/test1" />--> </Host>
总结:
appBase,这个目录表示:
1 这个目录下面的子目录将自动被部署为应用。
2 这个目录下面的.war文件将被自动解压缩并部署为应用
而docBase只是指向了你某个应用的目录,这个可以和appBase没有任何关系。