这个问题对于大部分人来说都很容易,而且在实际开发中用到的也比较多,所以如果觉得没什么难度,可以直接绕路了~

  1. 同一个tomcat下部署多个应用

        这个问题有几种解决方案,在实际应用中,可以根据自己情况选择不同的方式。

  • 把应用直接放在tomcat目录下的webapps下面,这样在tomcat启动的时候,就会把webapps目录下的所有应用都启动。
  • 在$CATALINA_BASE/conf/server.xml中进行配置,在tomcat中,每个应用都对应一个context,因此可以在server.xml中的<Host></Host>节点中添加一个context节点,用于配置项目信息。例如:
<Context path="/appName" reloadable="true" docBase="D:\appName\WebContent" workDir="D:\appName\work"/>

        其中docBase配置的是项目的物理路径,workDir是应用的工作目录。

  • 自己手动创建一个context文件,放在$CATALINA_BASE/conf/Catalina/localhost/目录下,context文件的名称是以项目命名,即appName.xml,文件的内容和在server.xml配置的类似,例如:
<Context path="/appName" reloadable="true" docBase="D:\appName\WebContent" workDir="D:\appName\work" />

以上三种方式,自己用的比较多的是第三种,因为比较方便,也比较灵活,可以把自己的项目放在系统的任何位置,然后在$CATALINA_BASE/conf/Catalina/localhost/目录下放置一个该项目的配置文件appName.xml。这样就可以灵活的用tomcat加载自己需要的项目,如果项目暂时不用,只需要把配置文件appName.xml换成一个不可用的文件名,比如appName.xmlbak。

    2. 一台服务器部署多个tomcat

  • windows下配置方法

        多个tomcat如果想运行在一台服务器上面,那么tomcat所用到的端口就不能相同,所以,如果要想在一台服务器上面运行多个tomcat,就需要修改tomcat的端口,主要是修改$CATALINA_BASE/conf/server.xml中的配置。第一个是tomcat关闭端口,默认的是8005,这边我们修改为8006

<Server port="8006" shutdown="SHUTDOWN">

        第二个需要修改的是连接端口,就是应用访问的端口,默认的8080,这边我们修改为8090


<Connector port="8090" maxHttpHeaderSize="8192"

               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

               enableLookups="false" redirectPort="8443" acceptCount="100"

               connectionTimeout="20000" disableUploadTimeout="true" />

        最后就是修改tomcat启动文件里面的环境变量配置信息,在修改之前还需要在系统的环境变量中新增加一个环境变量CATALITA_HOME2,然后把其中一个tomcat的/bin/startup.bat和/bin/catalita.bat中的CATALITA_HOME都替换成CATALITA_HOME2即可(这一步本人没做也能成功,打开startup.bat查看后,发现里面会判断系统是否有设置CATALITA_HOME环境变量,如果没有设置,则会用当前路径作为CATALITA_HOME,不知道这样理解的对不,有知道的大神,麻烦指点一下)。

        配置完成以后,分别运行两个tomcat的startup.bat,然后访问对应的路径和端口,可爱的小猫就会出现了。

  • Linux下配置方法

        Linux下配置步骤和windows下基本一样,其中修改tomcat的端口是一样的,都需要修改server.xml中的端口,这里就不再重复说明了,简单说一下配置环境变量

        Linux下配置环境环境是在/etc/profile文件中,首先打开这个文件,然后在文件中添加两个tomcat的配置信息。

# tomcat1  
CATALINA_BASE=/usr/local/tomcat1  
CATALINA_HOME=/usr/local/tomcat1
TOMCAT_HOME=/usr/local/tomcat1
export CATALINA_BASE CATALINA_HOME TOMCAT_HOME
#tomcat2
CATALINA_2_BASE=/usr/local/tomcat2  
CATALINA_2_HOME=/usr/local/tomcat2
TOMCAT_2_HOME=/usr/local/tomcat2
export CATALINA_2_BASE CATALINA_2_HOME TOMCAT_2_HOME

            修改完成后,保存一下退出即可,接下来需要修改tomcat下面的运行文件的配置信息,其中tomcat1保持不动,只需要修改tomcat2的即可。修改/bin/startup.sh和/bin/shutdown.sh文件,在文件中增加下面配置信息即可(这一步本人也是没有操作即可成功,查看脚本以后也是发现会自动获取当前路径作为CATALINA_HOME,所以即使不用设置,tomcat也能正常启动,如果理解的不对,大神勿喷,麻烦指点一下)。


export CATALINA_HOME=$CATALINA_2_HOME    
export CATALINA_BASE=$CATALINA_2_BASE

              这些配置全部配置完成以后,分别运行两个tomcat的startup.sh,然后通过网页访问对应路径和端口,我们可爱的小猫就呈现出来了。