当前位置:首页 >> 服务器

关于tomcat的server.xml里host节点配置的一些说明

其实对这个一直搞不清楚,后来公司的网站遭遇与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的配置

具体可以参考这篇文章:https://www.jb51.net/article/51924.htm