Como ejecutar multiples instancias de Tomcat en el mismo servidor

4 Comments

En mi servidor de produccion tengo instalada la version 5.5 de Tomcat, pero necesitamos actualizarnos a Tomcat 6. Ya que no tenemos otro servidor con las mismas caracteristicas de hardware ni la misma version del sistema operativo Linux, se me ha ocurrido correr un tomcat 5.5 y un 6 al mismo tiempo en el mismo servidor.

Instalacion de Tomcat

Para ambas versiones de Tomcat he utilizado este tutorial.

Directorios diferentes

Durante nuestra instalacion debemos de crear un directorio diferente para cada version de Tomcat. Ya sea en linux (Debian, Redhat, Ubuntu) o incluso Solaris personalmente me gusta instalarlos en /usr/share/, en otras palabras:

  • Tomcat 5.5: /usr/share/tomcat55
  • Tomcat 6: /usr/share/tomcat6

Puertos diferentes

Luego que tenemos configurado nuestros tomcats, debemos de configurar el puerto donde escucha el trafico de la red y el puerto de apagado. He aqui donde se hace la magia, dentro del archivo de configuracion server.xml encontraremos el puerto de apagado, de la siguiente manera:

<Server port="8001" shutdown="_SHUTDOWN_COMMAND_" debug="0">

Como veran en el codigo anterior, este puerto 8001 es donde se comunica el sistema para apagar Tomcat. Ojo este puerto debe ser distinto para cada ejecutar diferentes versiones y/o instancias de Tomcat simultaneamente. Ya que de lo contrario cuando apagen Tomcat 5.5 tambien Tomcat 6.0 se apagara.

Rutina de inicio de Tomcat

Para iniciar tomcat  podemos hacer un script para cada instancia de la siguiente manera;

JAVA_HOME=/usr/java
JAVA_OPTS="-Xmx800m -Xms800m"
CATALINA_HOME=/usr/local/tomcat
CATALINA_BASE=/var/tomcat/serverA
export JAVA_HOME JAVA_OPTS CATALINA_HOME CATALINA_BASE
$CATALINA_HOME/bin/catalina.sh start

La variable JAVA_OPTS nos indica la cantidad de memoria a utilizar por el servicio.

Si no desean hacer un script, pueden utilizar para cada una de nuestras versiones que deseamos trabajar al mismo tiempo este sencillo ejemplo que vemos aca.

4 Replies to “Como ejecutar multiples instancias de Tomcat en el mismo servidor”

Deja tus preguntas o comentarios