一、说明

1.appBase为项目的绝对路径,docBaseWEB目录

2.Host下的Alias是一个域名别称,可以配置多个域名。


3.Host里如果没有Context节点,则非webapps文件夹下,直接不用虚拟目录访问,会抛404找不到文件的错误,比如上面配置中test1域名下必须用虚拟目录比如这里的TestWeb2来访问;Host下面的context节点配置为:<Context path=“” 后,则这个目录为默认的访问目录,比如http://www.test2.com:880/,访问的D:\TomCat7.0\testapp\TestWebliu下面的文件,因为有默认首页,因此直接输入域名和端口可以直接访问到默认的index.jsp页面,如果没有默认页,可能会抛错,需要配置可以/为列目录,在conf/web.xml.

 

5.server下面两个service节点,每个service节点可以用Connector配置一个监听端口,service里有只能有一个Engine节点,它接受同级目录Connector端口的请求,可以通过defaultHost属性默认指向一个Host,Host就是一个该Connector端口下的域名,下面可以用Context配置多个虚拟目录。

即:server下面可以有多个service,用于配置不同监听端口


6. service下面可以有多个Host,用于配置该端口下的不同域名
    Host里可以包含多个Context,用于配置该端口该域名下的不同虚拟目录

 

二、多网站多域名

代码中灰色背景的是需要修改的,注意:配置文件中有两层<Service>是放到<Server port="8005" shutdown="SHUTDOWN">层里

  ///Catalina1 相当于网站的ID名字不能重复

  <Service name="Catalina1">   

  ///8080端口根据需要修改,不能重复

    <Connector port="8080" protocol="HTTP/1.1"

               connectionTimeout="20000"

               redirectPort="8443" />

    ///8009 AJP调用端口,不能重复

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

///Catalina1和上面的Catalina1写出一样

    <Engine name="Catalina1" defaultHost="localhost">

      <Realm className="org.apache.catalina.realm.LockOutRealm">

        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"

               resourceName="UserDatabase"/>

      </Realm>

      ///test.com 捆绑的域名

 ///webapps 默认的根目录

      <Host name="test.com"  appBase="webapps"

            unpackWARs="true" autoDeploy="true">

   ///path是说明虚拟目录的名字,如果你要只输入ip地址就显示主页,则该键值留为空

   ///docBase是虚拟目录的路径,它默认的是$tomcat/webapps/ROOT目录,现在我在webapps目录下建了一个myweb目录,

让该目录作为我的默认目录。

   ///debugreloadable一般都分别设置成0true

      ///完整路径 $tomcat/webapps/test

        ///<Context 此行配置文件中默认没有,需加入

   <Context path="" docBase="test" debug="0" reloadable="true"/>

        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"

               prefix="localhost_access_log." suffix=".txt"

               pattern="%h %l %u %t "%r" %s %b" />

      </Host>

    </Engine>

  </Service>

下面是整体效果,因为展示不方便 我把注释都删除了。

 wKioL1bQMojALpwRAALA9_G1BeU695.jpg

二、多端口访问同一个项目

wKioL1bQMZaQ1f37AACV6jcjFu4176.jpg

<Connector port="8090" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

 

三、多域名访问同一个项目

Host里添加<Alias>

<Host name="abc.com"  appBase="webapps" unpackWARs="true" autoDeploy="true">

<Alias>www.123.com</Alias> <!--多个域名-->

<Alias>www.456.com</Alias> <!--多个域名-->

</Host>

 

四、重启Tomcat

/usr/java/apache-tomcat-7.0.67/bin/shutdown.sh && /usr/java/apache-tomcat-7.0.67/bin/startup.sh

 

五、如果停止Tomcat时,如图提示则配置文件有问题需要重新修改

 

wKioL1bQMaKjYR1uAAMyRRVfAJk993.jpg 

下图是正常重启,停止和启动都无错.

wKioL1bQMbKAy-6WAAFswNvGpAY237.jpg