for - instalar tomcat 6
¿Cómo ejecutar diferentes aplicaciones en una sola instancia de Tomcat detrás de diferentes puertos? (5)
Actualmente tengo 2 aplicaciones web app1 y app2 ejecutándose en Tomcat 6:
- app1 en http://localhost:8080/app1
- app2 en http://localhost:8080/app2
Quiero configurar Tomcat para que se ejecuten en contexto raíz detrás de puertos separados:
- app1 en http: // localhost: 8081
- app2 en http: // localhost: 8082
¿Lo que hay que hacer?
Además de ejecutar dos instancias de Tomcat y usar la aplicación ROOT (lo que ya se ha dicho y es una solución poco eficaz e ineficaz), puede lograrlo utilizando Apache + Tomcat. Configuración de Apache para escuchar ambos puertos y reenviar por IP: Puerto a diferentes aplicaciones de Tomcat. ¡Pero necesitas un puerto diferente por Tomcat!
Configuración de Apache
listen 8080,8081
...
<VirtualHost *:8080>
ServerName localhost
ProxyPass / http://localhost:8888/app1
ProxyPassReverse / http://localhost:8080/app1
</VirtualHost>
<VirtualHost *:8081>
ServerName localhost
ProxyPass / http://localhost:8888/app2
ProxyPassReverse / http://localhost:8080/app2
</VirtualHost>
o
listen 80,81
...
<VirtualHost *:80>
ServerName localhost
ProxyPass / http://localhost:8080/app1
ProxyPassReverse / http://localhost:8080/app1
</VirtualHost>
<VirtualHost *:81>
ServerName localhost
ProxyPass / http://localhost:8080/app2
ProxyPassReverse / http://localhost:8080/app2
</VirtualHost>
Creo que puedes configurar eso en tu archivo server.xml y poner 2 servicios:
<Service name="app1">
<Connector port="8081" protocol="org.apache.coyote.http11.Http11NioProtocol"
connectionTimeout="20000"
redirectPort="8443" />
<Engine name="Catalina" defaultHost="localhost">
<Host name="localhost" appBase="app1"
unpackWARs="true" autoDeploy="true">
</Host>
</Engine>
</Service>
<Service name="app2">
<Connector port="8082" protocol="org.apache.coyote.http11.Http11NioProtocol"
connectionTimeout="20000"
redirectPort="8443" />
<Engine name="Catalina" defaultHost="localhost">
<Host name="localhost" appBase="app2"
unpackWARs="true" autoDeploy="true">
</Host>
</Engine>
</Service>
Otro ejemplo de agregar conectores:
<Service name="reciver">
<Connector port="8080" maxHttpHeaderSize="8192" maxThreads="10"
enableLookups="false" acceptCount="100"
connectionTimeout="10000" disableUploadTimeout="true"
useBodyEncodingForURI="true"/>
<Engine name="reciver" defaultHost="localhost" jvmRoute="host1">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase" />
<Host name="localhost" appBase="webapps" unpackWARs="true"
autoDeploy="false" xmlValidation="false"
xmlNamespaceAware="false">
<Context docBase="browser" path="/browser" reloadable="false"/>
</Host>
</Engine>
</Service>
<Service name="reciver2">
<Connector port="8081" maxHttpHeaderSize="8192" maxThreads="10"
enableLookups="false" acceptCount="1"
connectionTimeout="10000" disableUploadTimeout="true"
useBodyEncodingForURI="true" proxyName="example.pt" proxyPort="80"/>
<Engine name="reciver2" defaultHost="example_app" jvmRoute="host2">
<Host name="example_app" appBase="test_app/example_app" unpackWARs="true"
autoDeploy="false" xmlValidation="false"
xmlNamespaceAware="false">
<Context docBase="example_app" path="/example_app" reloadable="false"/>
</Host>
</Engine>
</Service>
(...Repeted 2 more times.)
Tomado de: http://www.coderanch.com/t/84172/Tomcat/listen-multiple-ports
Recomiendo leer todo el hilo, ya que habla de éxitos de rendimiento con esta configuración, y también posibles condiciones de carrera.
Tomcat se ejecuta en los puertos especificados en:
$CATALINA_HOME/conf/server.xml
Como escribió JB Nizet, configure dos instancias diferentes de tomcat y configure el valor de puerto server.xml de forma adecuada.
$ CATALINA_HOME / tomcat-8081 / conf / server.xml:
<?xml version=''1.0'' encoding=''utf-8''?>
<Server port="8081" ... >
...
</Server>
$ CATALINA_HOME / tomcat-8082 / conf / server.xml:
<?xml version=''1.0'' encoding=''utf-8''?>
<Server port="8082" ... >
...
</Server>
Use dos instancias Tomcat diferentes.
EDITAR:
O configure Tomcat como se explica en la respuesta a esta pregunta: Ayuda de configuración de Tomcat: varios puertos que no responden