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/