OpenMandriva: Mageia (Mageia 9) 20/Agosto/2023 - Anuncio, Descargas.
Blogdrake recomienda descargar las imágenes de instalación (iso) vía torrent para evitar corrupción de datos, aprovechar mejor su ancho de banda y mejorar la difusión de las distribuciones.
Como conectar el servidor Web Apache y Tomcat con mod_jk - Parte 1
Introducción:
El objetivo de este tutorial es la instalación y configuración de la infraestructura necesaria para instalar con éxito un servidor de aplicaciones Web java (Tomcat) integrado con Apache, aunque Tomcat puede ejercer sin problemas de servidor Web no está tan optimizado para ello como apache.
En la segunda parte añadiremos múltiples instancias de Tomcat para dotar de alta disponibilidad al servidor de aplicaciones,. haciendo uso de mod_jk como balanceador de carga y failover.
Requisitos:
Partimos de un sistema Linux basado en Mandriva, ya tenemos un servidor apache instalado por lo que necesitamos: un jdk, a ser posible la última versión de los binarios de tomcat y mod_jk para conectar con apache via ajp.
[root@chisme ~]# urpmq -i mod_jk
Name : mod_jk
Version : 1.2.6
Release : 3.1mdk
Group : Development/Java
Size : 150405 Architecture: i586
Summary : Tomcat mod_jk connector for Apache
[root@chisme ~]# urpmq -i tomcat5
Name : tomcat5
Version : 5.0.30
Release : 9.1mdk
Group : Development/Java
Size : 14538145 Architecture: i586
Summary : Apache Servlet/JSP Engine, RI for Servlet 2.4/JSP 2.0 API
La ultima versión de mod_jk es la 1.2.15 y la última versión estable de tomcat la 5.5.15, por lo que nos decantamos por compilar “a mano” mod_jk y utilizar los últimos binarios de tomcat de su web.
Por lo tanto necesitamos
1. apache 2.0.54-13d ( el último estable en mandriva 2006)
2. apache-devel 2.0.54-13d ( para compilar mod_jk
3. apache-tomcat-5.5.15.tar.gz
4. jakarta-tomcat-connectors-1.2.15-src.tar.gz
5. jdk-1_5_0_06-linux-i586.bin
Asumimos que ya se han instalado los paquetes de apache mediante urpmi, hemos instalado la máquina de java en /opt/java5, y hemos descomprimido los binarios de Tomcat en /opt/tomcat
Compilando e instalando mod_jk.
Antes de sumergirnos en la compilación de mod_jk quisiera aclarar una situación que me tuvo confuso durante mucho tiempo, en el mundo de los conectores de Tomcat, existe mod_jk y mod_jk2. En principio lo más lógico es pensar que mod_jk2 es la opción más acertada al tener un número mayor de versión, pero al contrario mod_jk2 está discontinuado para incluirse en el “core” del próximo apache 2.1 por lo tanto usaremos mod_jk.
[root@chisme tmp]# tar -zxvf jakarta-tomcat-connectors-1.2.15-src.tar.gz
[root@chisme tmp]# cd jakarta-tomcat-connectors-1.2.15-src/jk/native/
[root@chisme native]# ./configure --with-axps=/usr/sbin/axps
[root@chisme native]# make && make install
La opción de la configuración de with-axps=/usr/sbin/apxs permite construir un nuevo modulo de apache sin necesidad de los fuentes la utilidad apxs viene dentro del paquete apache-devel, si todo va bien tendremos el módulo compilado en /usr/lib/httpd/module
Una vez que tenemos el modulo de apache compilado tenemos que cargarlo, de momento crearemos un fichero de configuración 90_mod_jk.conf con nuestro editor favorito en /etc/httpd/modules.d siguiendo la nomenclatura de mandriva existe una directiva en httpd.conf Include modules.d/*.conf que carga todos los ficheros que existan en este directorio con el siguiente contenido.
# Cargamos el modulo
LoadModule jk_module modules/mod_jk.so
Llegados a este punto podemos reiniciar el servidor apache y comprobar que arranca perfectamente cargando este nuevo módulo.
Arrancando tomcat
Primero crearemos el usuario propietario de la instancia de tomcat
[root@chisme]# useradd tomcat -d /opt/tomcat
[root@chisme]# chown tomcat:tomcat -R /opt/tomcat
[root@chisme]# su – tomcat
Editamos el fichero .bash_profile del usuario y introducimos las variables necesarias para el arranque del servidor.
export CATALINA_HOME=/opt/tomcat
export JAVA_HOME=/opt/java5
export PATH=$JAVA_HOME/bin:$HOME/bin:$PATH
Hacemos logout para que tengan efecto los cambios y arrancamos la instancia de tomcat
[root@chisme]# exit
[root@chisme]# su – tomcat
[root@chisme]#./bin/startup.sh
Comprobamos el correcto funcionamiento visualizando en nuestro navegador la pagina de bienvenida de tomcat en http://localhost:8080
Ahora crearemos un script de arranque tomcat para colocar en /etc/init.d
#!/bin/bash
# tomcat
# chkconfig: 345 92 8
# description: Servidor tomcat
#
# processname: tomcat
# pidfile: /var/run/tomcat.pid
RETVAL=$?
CATALINA_HOME="/opt/tomcat"
TOMCAT_USER=”tomcat”
case "$1" in
start)
if [ -f $CATALINA_HOME/bin/startup.sh ];
then
echo $"Starting Tomcat"
/bin/su -c $CATALINA_HOME/bin/startup.sh $TOMCAT_USER
fi
;;
stop)
if [ -f $CATALINA_HOME/bin/shutdown.sh ];
then
echo $"Stopping Tomcat"
/bin/su -c $CATALINA_HOME/bin/shutdown.sh $TOMCAT_USER
fi
;;
*)
echo $"Usage: $0 {start|stop}"
exit 1
;;
esac
exit $RETVAL
Añadimos mediante chkconfig el arranque de la instancia de tomcat en los runslevel 3 y 5
[root@chisme}# chkconfig –level 35 tomcat on
Haciendo que apache y tomcat se entiendan
Configurando mod_jk
Uno de los archivos de configuración más importantes de mod_jk junto con i 90_mod_jk.conf es el fichero workers.properties. Colocaremos este archivo junto con los de configuración de apache en /etc/httpd/conf. Apache utiliza el fichero workers.propertis para definir donde encontrar las instancias de tomcat, en principio solamente una.
worker.list=worker1
# Establecemos las propiedades para el worker
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
worker.list es una lista separada por comas de los nombres de los workers en este caso solamente uno, podríamos tener más workers definidos en el archivo y no serían usados si no se encuentran en esta lista.
Los workers se tienen como mínimo tres atributos tipo, host y puerto., que se definen de la siguiente forma worker.nombre.atributo, en nuestro el tipo de conector es ajp13 el host (localhost) se va a ejecutar en la misma máquina que apache y el puerto de escucha de conector ajp.
Configurando Apache
Ahora debemos de decirle al servidor web donde encontrar el archivo workers.properties , donde guardar el log de mod_jk y que uri tiene que resolver el servidor de aplicaciones, añadimos las siguientes lineas al archivo /etc/httpd/modules.d/90_mod_jk.conf
JkWorkersFile /etc/httpd/conf/workers.properties
JkLogFile /var/log/httpd/jk.log
JkLogLevel error
JkMount /jsp-examples/* worker1
Configurando tomcat
Tomcat utiliza un archivo de configuración llamado server.xml situado en $CATALINA_HOME/conf/ para determinar la configuración de los conectores, puertos de escucha etc..
Con nuestro editor favorito editamos este fichero, en el que vamos a realizar varios cambios, primero modificaremos el puerto de shutdow de 8005 a 9005 ( en principio si no vamos a tener más de una instancia de tomcat funcionando en esa máquina no sería necesario pero así vamos preparándonos para la segunda parte de este articulo
En segundo lugar comentaremos la definición del conector http ya que no vamos a usarlo
Por último verificamos que el conector ajp escucha en el puerto adecuado ( el que pusimos en el fichero workers.properties)
Probando, probando …Paramos el servidor apache service httpd stop.
Paramos el servidor tomcat service tomcat stop.
Arrancamos el servidor tomcat service tomcat start
Arrancamos el servidor apache service httpd start
Et voila! si colocamos en el navegador http://localhost/jsp-examples y vemos los ejemplos de jsp de tomcat hemos logrado nuestro objetivo.
bersuit.vera
InsaneCrew
- Blog de bersuit
- Entra a tu cuenta o crea una para poder comentar.
Usuario
# 14672 Te lo has currado colega..
Gracias, muchas gracias por el buen tutorial, el empeño y la molestia tomada para que otras personas tengan "allanado" el camino.
Have a nice day ;-)
TooManySecrets
Have a nice day ;-)
TooManySecrets
BOFH
# 14692 Asi me gusta nenitas
Muy guapo el tutorial.
Espero ansioso la segunda parte ;-)
Buen trabajo.
--
JID: capi_x@capix.sytes.net
BOFH
# 14694 Gracias
Bersuit Vera mini-BOFH
Geek by nature, linux for choice, mandriva of course
Out of Memory
Bersuit Vera BOFH
Geek by nature, linux for choice, mandriva of course
InsaneCrew
BOFH
# 14716 aplausos
bersuit,
Peazo de tutorial, lo pondre a prueba un dia de estos, a ver que tal responde el invento.
Desde la guarida de los BOFHs de BlogDrake, te envio mis mas sinceros aplausos, junto con una bonita alfombrilla para raton, decorada con piel de gatitos XDD
Salut,
Sinner
--
Salut,
Sinner
Linux User # 89976 - Blog de SinnerBOFH