2009-02-24 17 views
12

Recientemente, nuestro proveedor de Analítica de Software (NETTRACKER) nos envió un complemento para poder capturar visitantes de una mejor manera. Este complemento es para Apache 1.x y Apache 2.x. Dijeron y cito¿Apache Tomcat está integrado en la plataforma del servidor web Apache?

que dado que Apache Tomcat está construido en el servidor Apache HTTP, la configuración del complemento debe ser la misma.

que han buscado una httpd.conf en nuestro despliegue de Tomcat, pero no podemos encontrar uno, la única configuración que es similar a la que uno es el server.xml en el directorio/conf.

Si alguien tiene mejor información acerca de estos dos increíbles productos (Apache HTTP server y Apache Tomcat) apreciaré mucho dibujar las diferencias.

EDIT: En caso de que tenga curiosidad, sabemos que Apache Web Server y Tomcat pueden trabajar juntos utilizando la opción mod_jk y otros proxys. Pero esto será demasiado complejo para nuestro despliegue.

Respuesta

15

Apache Tomcat y Apache HTTP son tecnologías de servidor completamente diferentes. Es imposible utilizar un complemento para el servidor Apache HTTP con Tomcat.

El servidor Apache HTTP está desarrollado en C y también lo son los complementos. Por el contrario, Tomcat ahora está completamente desarrollado en Java. Tomcat no solo sirve contenido estático, sino que también puede servir para páginas y servlets JSP.

Tomcat se utiliza para alojar aplicaciones web Java. Puede servir para contenido estático; puede alojar una aplicación web utilizando solo Tomcat. Las conexiones seguras son compatibles y el rendimiento también es muy bueno (comparable con el rendimiento del servidor HTTP).

Una instalación simple de Apache sirve contenido estático. Utilizando los complementos adecuados, las solicitudes HTTP pueden redirigirse a un servidor de aplicaciones (Tomcat, JBoss, Glassfish) o un intérprete de lenguaje de scripts (PHP). De esta forma se puede generar contenido dinámico. Las grandes ventajas de Apache son los numerosos complementos disponibles, que permiten a los administradores configurar y monitorear sitios web de la forma que quieran y que es el servidor más extendido disponible. Esto lo convierte en la solución más segura, ya que se prueba exhaustivamente y cualquier falla descubierta se corrige muy rápidamente.

La mejor solución sería utilizar Tomcat proxied por un servidor Apache. No es tan difícil de configurar. Si no puede hacer esto, entonces no puede aprovechar los complementos de Apache.

+0

Eso es genial de saber sobre el uso del servidor HTTP para enrutar las solicitudes a Tomcat. ¡Estoy usando las dos en este momento, y este será un gran truco! – Mike

+0

La mejor solución sería usar mod_proxy. Debe haber una pregunta relevante en SO. – kgiannakakis

3

totalmente falso. Los plugins httpd de Apache están escritos en C, Tomcat es Java puro.

+0

¡guau! No sabía eso antes de – tusar

6

Ve esta confusión todo el tiempo. Mucha gente piensa que Apache es un servidor web en el que en realidad es el nombre de una organización que tiene un proyecto de servidor web llamado "The Apache HTTP Server Project". En resumen, el servidor web se llama HTTPD (D como en daemon o proceso de Unix).

Tomcat es otro proyecto de Apache. Este proyecto implementa un motor de servlet Java para servir páginas y servlets JSP. Tomcat y HTTPD no tienen nada que ver el uno con el otro. Sin embargo, puede configurar HTTPD y Tomcat para que funcionen juntos. De esta forma, puede hacer que HTTPD sirva todo el contenido estático, realice la reescritura de URL y cosas mucho más sofisticadas que el servidor web integrado de Tomcat no puede hacer (o no puede hacer muy bien). Siempre que se solicite una página JSP, HTTPD pasará la solicitud a Tomcat. Tomcat procesará la solicitud y devolverá la salida a HTTPD, que a su vez la enviará al cliente.

Apache tiene muchos interesting projects. P.ej. también hay un proyecto llamado Geronimo que es un servidor Java Enterprise (J2EE). Puede, por ejemplo, elija insertar Tomcat dentro de Geronimo para manejar las solicitudes de JSP y servlets, donde Geronimo hace las cosas más empresariales (LDAP, mensajería, etc.). Y ya lo has adivinado, también puedes usar HTTPD como servidor de contenido estático para Geronimo.

0

Tomcat es un motor de servlet Java. Puede alojarse bajo Apache o IIS o un buen número de otros servidores web externos. Parece que actualmente está ejecutando su instancia autónoma de Tomcat ...

Si sirve los JSP/servlets fuera del puerto 8080 y lo hace independiente, en el mismo equipo host en el que se ejecuta Apache, esto puede Permitir que los tengan flojos. No se recomienda tener múltiples servidores web que presenten solicitudes independientes, especialmente si desea usar la autenticación basada en el servidor junto con Apache. Normalmente, tienes un servidor externo que lo transmite todo ... Apache lo hace bastante bien, y el complemento que mencionas probablemente dependa de este tipo de configuración (todo se conecta a través de Apache) para sus características/capacidades, según tu breve descripción de esto.

Si desea servir sus servlets de Tomcat en Apache, puede configurar apache para reenviar una clase de URI a sus instancias de servidor tomcat. podrías lograr este tipo de reenvío a través de mod_rewrite. esta es una opción más lenta en cuanto a rendimiento, ya que agrega una ligera sobrecarga en todo lo que se usa para el servidor. También puede proxy las solicitudes entrantes a través de un mecanismo CGI de manera similar, desde Apache a Tomcat.

mod_jkserá simplificar la implementación y aumentar el rendimiento para la colocación de Tomcat en una configuración del servidor Apache. Es bastante fácil configurarlo si sigues los documentos, por lo que no estoy seguro de lo que quieres decir con "demasiado complejo" para tu implementación: si quieres Apache y ya tienes Tomcat, solo parecería una cuestión de ligeros cambios de configuración en obtenga mod_jk descargado e instalado.

+0

Esta respuesta solo es confusa. –

Cuestiones relacionadas