其实对这个一直搞不清楚,后来公司的网站遭遇与IIS进行整合,然后上面有几个应用需要进行配置,所以对tomcat的server.xml进行了一些深入的了解
Host的节点主要是起一个对域名解析到那个虚拟主机进行配置,其name属性即为访问的域名,默认是127.0.0.1,localhost以及本地Ip,当进行DNS指定之后,可以凭借域名对指定的虚拟主机进行访问。 里面的一些属性就不多讲了,看到单词基本上能明白什么意思。
然后就是context节点,这个节点主要是配置虚拟主机里的访问项目的,默认访问的项目是context里属性path=“”的项目,一个虚拟主机里不能同时设置两个项目为path=“”,如果这样的话,tomcat将启动不了。path主要是指定访问时的项目web名,而docBase即指定的是物理路径名称了。
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="web1" reloadable="true" crossContext="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 -->
<!--
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>
-->
</Host>
<Host name="paper" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="web2" docBase="web2" reloadable="true" crossContext="true" />
</Host>
今天配置参数这样写的
<Host name="test.jb51.net" appBase="E:\webroot\jsp" uppackWARs="true" xmlValidation="false" xmlNamespaceAware="false"> <Context path="" docBase="E:\webroot" debug="0" reloadable="true"/> </Host> </Host>
name:对应的是你项目的域名;
appBase:虚拟目录的路径(用来运行jsp的目录);
doBase:项目的顶级目录就相当于webapps 中的目录名称,也就是iis中的网站根目录;
配置完成后记得把你的项目复制到D:\webroot目录下,我的项目是ecshoping
注意了一定要在</Host>之后或<host之前添加。
当然还需要修改isapi_redirect的配置
具体可以参考这篇文章:http://www.jb51.net/article/51924.htm