miércoles septiembre 20, 2006
Apache 2.2 + Tomcat 5.5-6 (I) Aún cuando Apache Tomcat puede funcionar perfectamente como servidor único de contenido estático y dinámico, en configuraciones más avanzadas tenemos que recurrir a montajes algo más complejos. Lo más común es ponerlo detrás de un servidor web, como puede ser el de Apache, que nos dará juego para hacer configuraciones más potentes. La conjunción de Apache Httpd + Tomcat nos permitirá entre otras cosas:
- Utilizar la velocidad de Apache-Httpd para servir el contenido estático.
- Utilizar el módulo 'rewrite' para redireccionar algunas URLs.
- Utilizar la cache de Apache-Httpd.
- Poder arrancar Apache Tomcat sin usuario root para poder servir a una petición del puerto 80 (y sin usar IP forwarding).
- Poder tener el Tomcat en una máquina fuera de la DMZ.
- Poder añadir más capas con Tomcat's en máquinas diferentes.
- Escalar el número de peticiones a servir mediante balanceo de carga entre Tomcat's.
- Conseguir un cluster de Tomcat's con tolerancia a fallos.
- Tener mejor control en las caídas del Tomcat o de la máquina que lo alberga, pudiendo mostrar páginas de error personalizadas.
- ¿Sugerencias?
El reciente módulo 'mod_proxy_ajp' de Apache aporta numerosas ventajas, entre ellas el venir con la instalación estándar, poderse linkar estáticamente o cargar dinámicamente, y mediante la implementación del protocolo AJP, tener una sintaxis de configuración del Apache-httpd mucho más simple y concisa. En una configuración estándar de Tomcat, con un conector escuchando por el puerto 8009 (el de por defecto para AJP13), sólo habría que añadir al Apache la carga del módulo mod_proxy_ajp (y del mod_proxy) y poner las 2 lineas:
ProxyPass /portal ajp://localhost:8009/portal
ProxyPassReverse /portal ajp://localhost:8009/portal
o alternativamente:
<location /portal >
ProxyPass ajp://localhost:8009/portal
ProxyPassReverse ajp://localhost:8009/portal
</location>
que hacen que cualquier URL que comience por '/portal' sea redirigida al Tomcat que está en la misma máquina (localhost) escuchando por el puerto 8009 peticiones AJP para servir el contenido dinámico. Fácil ¿no?..
Technorati tags: tomcat, apache, mod_proxy, mod_proxy_ajp, ProxyPass
Posted by Feliciano Borrego in Java at 20060920 Comentarios[8]Search This Site
Recent Entries
- HSPA USB Modem de MoviData
- Windows 7, el último S.O.
- Navegadores web en la Antártida
- En la tónica de hace 5 años
- Script para ordenar una tabla html print friendly (2/2)
- El definitivo script para ordenar una tabla html con javascript (1/2)
- Cuando la seguridad flaquea en sutilezas
- Recuperar los passwords de Firefox 3 (habiendo tenido FF2)
- Otro tonto error de un programador
- Incongruencias espacio temporales
- Día internacional del Software Libre
- Canon y la sopa boba
- Ideas y Buenas ideas
- Relanzamiento de cocoon.apache.org
- Wii con teclado USB
- Edicion en Roller off-line con w.bloggar
- Los términos mas buscados
- ¿Cuándo terminamos el proyecto?
- Recuperación de fotos (y II)
- Recuperar fotos borradas (I)
Atención al servidor Web de Glassfish (Grizzly), implementación enteramente programada en Java, usando NIO y que según dicen es tán rápido o más que el apache.
Enviado por lasterra en septiembre 21, 2006 a las 11:30 AM CEST #
Ya no se trata de rapidez, hay mucho 'indio' tanto o más rápido que Apache, se trata del resto de artilugios que se le añaden, hosting virtual, caché, url rewriting, gestión de permisos, etc...
Apache es servidor que está y estará en los web hostings, el de la magna documentación, el de los expertos y los iniciados, el de los foros, blogs y listas, el multilenguaje (Java, PHP, Python, Perl, ...), en difinitiva
Apache es 'El Servidor' http.
Enviado por feli en septiembre 21, 2006 a las 12:44 PM CEST #
Por supuesto, no tengo dudas de que apache sea mejor.... pero es que apache tiene muchos años¡¡
Simplemente queria dejar anotado que Java tiene alternativas, y que se esta avanzando tb en este area. Desde luego sustituir al apache es muy complicado, y has dado buenas razones .
Enviado por lasterra en septiembre 22, 2006 a las 11:19 AM CEST #
No olvidarse de los filtros de cache y compresion de apache, ni de los fast-cgi.
Y de lo dificil que es "atacar" a un APACHE y entrar dentro.
Una pregunta, ES MAS SEGURO, Glassfish que apache, lo dudo.
Enviado por batch4j en septiembre 25, 2006 a las 03:51 PM CEST #
Estoy montando un servidor con una web creada integramente en JSP+Java, sobre Tomcat y contra MySQL... el rendimiento es bueno, aunque no hay gran carga de usuarios. Si utilizara Apache+Tomcat para responder las peticiones de los usuarios, obtendría mejor rendimiento? porque al fin y al cabo, Apache recibe la petición JSP y la redirige a Tomcat el cual genera el HTML y lo sirve.. entonces es como si tubiera Tomcat solo sirviendo, no?
Un saludo a todos.
Enviado por ari0k0 en octubre 02, 2006 a las 10:31 PM CEST #
Saludos
tengo una consulta
ya tengo montado mi tomcat en apache con el mod_jk
tengo un webapps en toncat donde incluyo tres aplicaciones
y tambien tengo tres virtualhost
www.mipagina.com
uno.mipagina.com
dos.mipagina.com
mi duda es como hago para entrar en un vortual host y crear una session y luego entrar a otro virtual host y conservar la session
en tomcat estoy utilizando SSO pero cuando ya estoy en apache ese SSO que he creado en tomcat solo me sirve para un solo virtual host
mas si entro a otro virtual host se pierde mi session
Atte.
ExZ
Enviado por ExZ en octubre 02, 2006 a las 10:48 PM CEST #
Hola, Ari0k0,
por norma general, Tomcat da suficiente rendimiento incluso para cargas elevadas (depende en gran medida del Hw: Memoria, CPU y Disco) y las últimas versiones también están muy optimizadas para servir contenido estático.
No te compliques, usa un Tomcat únicamente y cuando detectes que no es capaz de atender a todas las peticiones, aplica entonces otras alternativas.
Para ello haz un seguimiento de los logs, de la CPU y memoria utilizada.
Enviado por feli en octubre 02, 2006 a las 10:49 PM CEST #
Gracias
me puedes dar tu correo
para poder hacerte mas consultas
Atte.
enzo
Enviado por ExZ en octubre 05, 2006 a las 05:24 PM CEST #