A falta de CSS se realiza un balanceo de aplicación mediante el módulo mod_jk que instalamos junto al servidor Apache.

La instalación del módulo es sencilla. Basta con descargar el archivo mod_jk.so correspondiente a la versión de apache que usamos. Lo copiamos en el directorio modules y editamos el archivo de configuración httpd.conf, añadiendo las entradas:

LoadModule jk_module modules/mod_jk.so

<IfModule mod_jk.c>
Include conf/mod_jk.conf
</IfModule>

El archivo de configuración tal como se observa en la configuración anterior es el conf/mod_jk.conf, que incluirá algo tal que:

JkWorkersFile conf/workers.properties
JkLogFile logs/jk.log
JkLogLevel error

JkMount /theapp/servlet/*  tomigr
JkMount /theapp/files/* tomigr

Y finalmente un archivo de configuración tipo workers.properties, con un contenido de ejemplo tal que:

worker.list=tomigr1, tomigr2, tomigr

default.prepost_timeout=5000
default.connect_timeout=5000
default.reply_timeout=5000
default.recycle_timeout=5
#worker.tomigr1.recovery_options=0

# Integrity
############################
worker.tomigr1.port=11009
worker.tomigr1.host=10.10.10.107
worker.tomigr1.type=ajp13
worker.tomigr1.lbfactor=1
worker.tomigr1.socket_timeout=300
worker.tomigr1.socket_keepalive=1

worker.tomigr2.port=11109
worker.tomigr2.host=10.10.10.108
worker.tomigr2.type=ajp13
worker.tomigr2.lbfactor=1
worker.tomigr2.socket_timeout=300
worker.tomigr2.socket_keepalive=1

worker.tomigr.type=lb
worker.tomigr.method=B
worker.tomigr.balanced_workers=tomigr1,tomigr2

Es importante tener en cuenta que Apache ‘mapeara’ el puerto de los workers de forma interna. Auqnque tomigr1 y tomigr2 sean máquinas distintas, no podemos usar el mismo puerto de worker. Tenemos que asignar el 11009 en uno y el 111009 en el otro, por ejemplo. Si no son diferentes tendremos problemas.

Para evitar ciertos problemas nos aseguraremos que  en el server.xml del tomcat correspondiente al worker pondremos el parámetro jvmRoute con el mismo nombre del worker. Es decir, para el worker tomigr1 tendremos la linea:

<Engine name=”Catalina” jvmRoute=”tomigr1” defaultHost=”localhost” debug=”0″>