Integre Apache2 con Tomcat 7 usando el conector mod_jk
Apache es el servidor web disponible más popular. Un servidor web se utiliza básicamente para aceptar solicitudes de clientes y enviar respuestas a esas solicitudes. Obtiene una URL, la traduce a un nombre de archivo (para solicitudes estáticas) y envía ese archivo a través de Internet desde el disco local, o lo traduce a un nombre de programa, lo ejecuta y luego envía la salida de ese programa. a través de Internet a la parte solicitante. Si el servidor web no pudo procesar y completar la solicitud, devuelve un mensaje de error.
En este artículo enumeraremos las características de Apache y cómo podemos integrarlo con Tomcat8 y Tomcat7 usando el conector mod_jk.
Características de Apache
Como dijimos, Apache es el servidor web disponible más popular. Las razones detrás de su popularidad son las siguientes características:
- Es una herramienta gratuita que puedes descargar e instalar fácilmente.
- Es un servidor web de código abierto por lo que puedes ver fácilmente el código, ajustarlo, optimizarlo y corregir errores y agujeros de seguridad. También se pueden agregar nuevas funciones y módulos.
- Se puede utilizar para sitios web pequeños de una o dos páginas, o sitios web enormes de cientos y miles de páginas, que atienden a millones de visitantes habituales cada mes. Puede servir contenido tanto estático como dinámico.
- Módulos de almacenamiento en caché mejorados (mod_cache, mod_disk_cache, mod_mem_cache).
- Apache 2 es compatible con el protocolo de Internet IPv6.
Directorio Tomcat
&$ {tomcat_home} es el directorio raíz de tomcat. Su instalación de Tomcat debe tener los siguientes subdirectorios:
- $ {tomcat_home}\conf: donde puede colocar varios archivos de configuración
- $ {tomcat_home}\webapps: contiene aplicaciones de ejemplo
- $ {tomcat_home}\bin: dónde coloca los complementos del servidor web
Módulo Mod_jk
El mod_jk se puede obtener en dos formatos: binario y fuente. Dependiendo de la plataforma en la que esté ejecutando su servidor web, puede haber disponible una versión binaria de mod_jk. Se recomienda utilizar la versión binaria si está disponible.
El módulo mod_jk fue desarrollado y probado en:
- Linux, FreeBSD, AIX, HP-UX, MacOS X, Solaris y deberían funcionar en las principales plataformas Unix compatibles con Apache 1.3 y/o 2.x.
- 0-i386 SP4/SP5/SP6a (debería poder funcionar con otros paquetes de servicio), Win2K, WinXP y Win98
- Cygwin (hasta que tenga un servidor Apache y herramientas de soporte de autoconf/automake)
- software de red
- i5/OS V5R4 (Sistema I) con Apache HTTP Server 2.0.58. Asegúrese de tener instalado el último Apache PTF.
- Tomcat 3.2 a Tomcat 8.
El mod_jk requiere dos entidades:
- mod_jk.xxx – El módulo del Servidor HTTP Apache, dependiendo de tu sistema operativo, será mod_jk.so, mod_jk.nlm o MOD_JK.SRVPGM.
- workers.properties : un archivo que describe el host y los puertos utilizados por los trabajadores (procesos Tomcat). Se puede encontrar un ejemplo de Workers.properties en el directorio conf en la descarga del código fuente.
Además, al igual que con otros módulos del servidor Apache HTTP, mod_jk debe instalarse primero en el directorio de módulos de su servidor web Apache: /usr/lib/apache y debe actualizar su archivo httpd.conf .
Instalación
Se requiere tener un sistema de usuario no root con privilegios “sudo” antes de comenzar la instalación. Ahora comenzaremos nuestra instalación, por lo que instalaremos Apache2 y Tomcat usando el siguiente comando:
sudo apt-get install apache2
sudo apt-get install tomcat7
sudo apt-get install tomcat7-admin
Y ahora crearemos una aplicación de prueba para Tomcat usando los siguientes comandos:
cd /var/lib/tomcat7/webapps
sudo mkdir tomcat-demo
sudo mkdir tomcat-demo/goodmoring
sudo vim tomcat-demo/helloworld/index.jsp
Y pega el siguiente código:
<HTML>
<HEAD>
<TITLE>Good Morning</TITLE>
</HEAD>
<BODY>
<H1>Good Morning</H1>
Today is: <%= new java.util.Date().toString() %>
</BODY>
</HTML>
Todo está bien, bien ahora instalaremos y configuraremos mod_jk usando el siguiente comando:
sudo apt-get install libapache2-mod-jk
Tenemos que comenzar habilitando el puerto de redireccionamiento 8443 en Tomcat usando el siguiente comando:
sudo vim /etc/tomcat7/server.xml
Y descomentaremos la siguiente línea:
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
Después de eso, crearemos nuestro archivo Workers.properties para Apache usando el siguiente comando:
sudo vim /etc/apache2/workers.properties
Pegue el siguiente texto:
Define 1 real worker using ajp13
worker.list=worker
# Set properties for worker (ajp13)
worker.worker.type=ajp13
worker.worker.host=localhost
worker.worker.port=8009
Ahora usaremos el siguiente comando para permitir que Apache use este trabajador:
sudo vim /etc/apache2/mods-available/jk.conf
Y cambiaremos la propiedad JkWorkersFile por la siguiente;
/etc/apache2/workers.properties
Finalmente para configurar la URL Apache debe pasar por el Tomcat
sudo vim /etc/apache2/sites-enabled/000-default
Y agregaremos la siguiente línea en el archivo de configuración:
<VirtualHost *:80>
.......................................
.......................................
JkMount /tomcat-demo* worker1
</VirtualHost *:80>
Ahora puede reiniciar los servidores usando los siguientes comandos para verificar su funcionalidad:
sudo /etc/init.d/tomcat7 restart
sudo /etc/init.d/apache2 restart
Conclusión
En este artículo le mostramos cómo configurar e instalar Apache2 y Tomcat 7 usando el conector mod_jk.