因为最近的项目需要使用Tomcat来运行,且分了API和Admin两个项目。我就想通过配置,让Tomcat多开。经过一天的折腾和配置,基本上已经完全实现业务需求。由于本机已经安装过一个Nginx,所以Tomcat的默认端口需要修改下。

有两种方案可以解决。

第一种方案:一个Tomcat多开Service

想要多开Service也很简单,只需要复制Tomcat配置中的Service页签就可以了。

<Service name="Catalina">
    <Connector port="9080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
    <Connector port="9009" protocol="AJP/1.3" redirectPort="8443" />
    <Engine name="Catalina" defaultHost="localhost">
      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase"/>
      </Realm>
      <Host name="localhost"  appBase="/data/www/web"
            unpackWARs="true" autoDeploy="true">
      	<Context docBase="/data/www/web" path="" debug="0" reloadable="true"/> 
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log." suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
      </Host>
    </Engine>
  </Service>

注意下面几个点:

  • Service的name需要唯一
  • Connector的port以及redirectPort端口需要修改唯一
  • Engine名字需要唯一
  • Host中的appBase地址也需要唯一

修改完,保存重启下Tomcat服务就好了。

第二种方案:两个Tomcat开不同的Server

这个就比较简单,只需要安装两个Tomcat就可以了。重新解压一份Tomcat,修改server.xml配置不同的端口号,就能解决。

重启服务,打开网址搞定。