Apache con Tomcat

3
26157

Apache con Tomcat

Quizás una de las métricas
de rendimiento en las que Tomcat no sale bien parado es en el
servicio de contenidos estáticos. Menos aún frente a
los rendimientos que tiene Apache Web Server.

¿y porqué elegir entre
ellos cuando fácilmente podemos tener a ambos trabajando en lo
que mejor sabe hacer cada uno? De esta forma, el Apache Web Server
recibirá todas las peticiones del usuario resolviendo las de
contenido estático y delegando las de contenido dinámico
(JSPs, Servlets, etc.).

Vamos a poner a funcionar:

  • Apache 2.2.4

  • mod_jk-apache-2.2.4.so

  • mod_rewrite.so

  • Tomcat 5.5

Dado que la instalación de
Apache Web Server o Tomcat 5.5 no tiene secretos y ya existen
numerosos tutoriales sobre el tema, pasamos directamente a su
configuración para trabajar juntos. La misma consiste en:

  • Instalar y configurar el mod_jk

  • Instalar y configurar el
    mod_rewrite

  • Trasladar el contenido estático
    a Tomcat

Instalar y configurar el mod_jk

Desde
http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/

buscaremos la carpeta correspondiente al sistema
operativo que estamos utilizando, luego la versión 1.2.21 (versión
estable en el momento de este tutorial) y elegiremos la librería a descargar
en función de la versión de nuestro apache (en nuestro caso: mod_jk-apache-2.2.4.so
)

 

Y lo guardaremos con el nombre
mod_jk.so en la carpeta de nuestro servidor apache /modules (en mi
caso “C:\Program Files\Apache Software
Foundation\Apache2.2\modules”)

Una vez copiado, abriremos el fichero
de configuración de apache conf/httpd.conf (en mi caso,
C:\Program Files\Apache Software
Foundation\Apache2.2\conf\httpd.conf) e incluiremos la siguiente
línea al final del fichero:

En la misma carpeta se crea el fichero worker.properties

Donde estamos definiendo el servidor
Tomcat llamado miservidor
que va a contener la aplicación que resuelva /miaplicacion/*.

Con un poco más de configuración
incluso podríamos definir varios servidores Tomcats para que
el Apache balancee la carga entre ellos, pero eso será parte
de otro tutorial.

Instalar y configurar el mod_rewrite

Con esta configuración todo el
contenido (estático y dinámico) se estaría
ruteando para que lo resuelva el Tomcat. Ahora vamos a ver cómo
configurar Apache para que sólo envíe el dinámico
(JSPs, servlets, etc.) y resuelva él el estático.

El mod_rewrite ya viene instalado, pero
no cargado por lo que deberemos editar el fichero httpd.conf y quitar
el comentario de:

Además, debemos activarlo y
configurarlo añadiendo al final del fichero pero antes de la
configuración de mod_jk:

La configuración de las
RewriteRule
se basan en expresiones regulares fácilmente descifrables de
las que puedes aprender más en
http://httpd.apache.org/docs/trunk/misc/rewriteguide.html
.

Trasladar el contenido estático a Tomcat

Trasladar el contenido estático a Tomcat consiste en copiar
las carpetas del contenido estático (típicamente
/imagenes, /js, /css, etc.) a la carpeta /htdocs (en mi caso,
C:\Program Files\Apache Software Foundation\Apache2.2\htdocs)
anteponiéndo una carpeta con el nombre de la aplicación,
es decir: /htdocs/miaplicacion/imagenes.

En Autentia utilizamos estas y otras configuraciones para
optimizar el rendimiento de entornos de producción medianos y
grandes, por lo que no dudes en ponerte en contacto con nosotros en
www.autentia.com .

3 Comentarios

  1. Una pregunta, entiendo que cuando dices lo de trasladar el contenido estático al Tomcat, ¿quieres decir Apache? El turorial esta chulo.

  2. Cierto,el contenido estático lo debería atender apache mientras que la parte de interacción con servlets lo hace tomar que es la parte dinámica

Dejar respuesta

Please enter your comment!
Please enter your name here