Apache 2 + Tomcat 7 = mod_jk

Hoy veremos cómo conectar un servidor Apache 2 con un Tomcat 7 de manera que todas las peticiones realizadas a una URL de apache, internamente a través del conector AJP se redirijan a nuestro contenedor Java, Tomcat.

Para ello usaremos Ubuntu 13 (es igual para ubuntu 12):

  1. Instalaremos Apache, Tomcat 7. A mi personalmente me gusta bajarme el tar.gz y descomprimirlo en mi carpeta home y que no lo administre el sistema, para ello nos dirijimos a la página de tomcat y descargamos el archivo. A continuación lo descomprimimos y listo.

    Para probar la instalación podemos crear el directorio:

    sudo mkdir tomcat-demo
    sudo mkdir tomcat-demo/helloworldy

    Y creamos el archivo index.jsp con este contenido:

    <HTML>
     <HEAD>
      <TITLE>Hola Mundo!</TITLE>
     </HEAD>
     <BODY>
      <H1>Hola Mundo!</H1>
      Hoy es: <%= new java.util.Date().toString() %>
     </BODY>
    </HTML>
  2. Instalamos y configuramos mod_jk

    sudo apt-get install libapache2-mod-jk

  3. Creamos el archivo workers.properties para Apache 2:sudo vim /etc/apache2/workers.properties

    En él escribimos lo siguiente:

    # Define 1 real worker using ajp13 
    worker.list=worker1 
    # Set properties for worker (ajp13) 
    worker.worker1.type=ajp13 
    worker.worker1.host=localhost
    worker.worker1.port=8009
  4. A continuación le diremos a Apache que use este fichero:Editamos el fichero: /etc/apache2/mods-available/jk.conf

    Cambiamos el JkWorkersFile a: /etc/apache2/workers.properties

  5. Finalmente confituramos la URL de Apache 2 para que pase las peticiones a Tomcat.
    sudo vim /etc/apache2/sites-enabled/000-default

    y añadimos lo siguiente:

    <VirtualHost *:80>
    …………………………………
    …………………………………
    JkMount /tomcat-demo* worker1
    </VirtualHost *:80>

  6. Por último reiniciamos los servidores:
    sudo /etc/init.d/tomcat7 restart
    sudo /etc/init.d/apache2 restart

  7. Para probarlo podemos navegar a:

    http://localhost/tomcat-demo/helloworld/

    Y debería ser igual a:

    http://localhost:8080/tomcat-demo/helloworld/

    Espero que os ayude!

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios .