N Tomcats auf einer Maschine

Um zwei oder mehr Tomcats auf der selben Maschine laufen zu lassen muessen die Ports in der

<tomcat>/conf/server.xml

angepasst werden, das es sonst zu Portkonflikten kommt. Standardmaessig sind folgende Ports in der server.xml eingetragen.

– server port: 8005
– http port: 8080 redirectPort: 8443
– ajp port: 8009 redirectPort: 8443

Wenn ein zweiter Tomcat im Parallelbetrieb auf der selben Maschine laufen soll, muessen die Ports angepasst werden. Hier ist ein Vorschlag von mir.

– server port: 8006
– http port: 8180 redirectPort: 8444
– ajp port: 8010 redirectPort: 8444

Die server.xml zum ersten Tomcat sieht wie folgt aus.

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

  <Listener className="org.apache.catalina.core.AprLifecycleListener"   SSLEngine="on"   />
  <Listener className="org.apache.catalina.core.JasperListener"   />
  <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"   />
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"   />

  <GlobalNamingResources>
    <Resource name="UserDatabase"   auth="Container"
              type="org.apache.catalina.UserDatabase"
              description="User database that can be updated and saved"
              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
              pathname="conf/tomcat-users.xml"   />
  </GlobalNamingResources>

  <Service name="Catalina"  >

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

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

    <Engine name="Catalina"   defaultHost="localhost"   jvmRoute="mainworker"  >

       <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
             resourceName="UserDatabase"  />

      <Host name="localhost"    appBase="webapps"
            unpackWARs="true"   autoDeploy="true"
            xmlValidation="false"   xmlNamespaceAware="false"  >

      </Host>
    </Engine>
  </Service>
</Server>

Die server.xml fuer den zweiten Tomcat:

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

  <Listener className="org.apache.catalina.core.AprLifecycleListener"   SSLEngine="on"   />
  <Listener className="org.apache.catalina.core.JasperListener"   />
  <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"   />
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"   />

  <GlobalNamingResources>
    <Resource name="UserDatabase"   auth="Container"
              type="org.apache.catalina.UserDatabase"
              description="User database that can be updated and saved"
              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
              pathname="conf/tomcat-users.xml"   />
  </GlobalNamingResources>

  <Service name="Catalina"  >

    <Connector port="8180"   protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8444"   />

    <Connector port="8010"   protocol="AJP/1.3"   redirectPort="8444"   />

    <Engine name="Catalina"   defaultHost="localhost"   jvmRoute="tomcat2"  >

      <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
             resourceName="UserDatabase"  />

      <Host name="localhost"    appBase="webapps"
            unpackWARs="true"   autoDeploy="true"
            xmlValidation="false"   xmlNamespaceAware="false"  >

      </Host>
    </Engine>
  </Service>
</Server>

Nachdem beide server.xml Dateien angepasst und die zwei Tomcats gestartet sind, ist der erste Tomcat unter folgender URL erreichbar:

http://localhost:8080/

Der zweite Tomcat dagegen unter der URL:

http://localhost:8180/

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s