Librerías nativas Tomcat 5.5 y 6.0

A partir de la versión 5.5, Tomcat puede trabajar con librerías nativas para las peticiones web, las descargas y también la parte https. En ves de usar todo eso en Java, se utiliza algo llamado APR (Apache Portable Runtime) para procesar los requests y OpenSSL para todo lo que es conexiones seguras y certificados. Eso tiene como beneficio un aumento considerable en rendimiento. JBoss a partir de la versión 4.2 también aprovecha éstas características ya que incluye un tomcat modificado llamado JBossWeb basado en tomcat 5.5 o 6.0 no estoy seguro.

Lamentablemente esta característica no viene incorporada y hay que hacer unos pasos adicionales para que funcione.

Windows: Hay que descargar la dll tcnative-1.dll y el ejecutable openssl.exe y ponerlos donde tomcat los pueda conseguir. Por ejemplo c:\windows\system32. Se baja de aquí: http://tomcat.heanet.ie/native/1.1.10/binaries/win32/

Linux: Un poquito más complicado hay que bajarse los fuentes y compilar la librería. Sólo tengo disponibles las instrucciones para openSuse 10 que es con lo que trabajo. Se hace lo siguiente:
  1. Se busca en YaST en la lista de paquetes por apr y se marca el que termina en -devel. Es algo como libapr-devel
  2. Se hace lo mismo para el paquete openssl-devel.
  3. El archivo instalaciondetomcat/bin/tomcat-native.tar.gz expande en cualquier directorio.
  4. Entrar en tomcat-native-1.1.10-src/jni/native y correr el comando conocido: ./configure --with-apr=/usr/bin/apr-1-config --with-java-home=rutaaljdk5 como un usuario normal.
  5. Correr make como un usuario normal.
  6. Correr make install como root.
  7. Esto instala las librerías en /usr/local/apr/lib
  8. Sólo queda actualizar la variable de ambiente LD_LIBRARY_PATH:
    export LD_LIBRARY_PATH
    =$LD_LIBRARY_PATH:/usr/local/apr/lib
    colocar esta línea en el archivo .profile o afines.
Al arrancar tomcat sabemos que está usando las librerías nativas porque dice:

[Http11AprProtocol] Arrancando Coyote HTTP/1.1 en puerto http-127.0.0.1-8080

Para configurar la parte https hay que crear unos certificados con openSSL como lo haríamos con un servidor Apache y colocarlos en la definición del conector en el archivo server.xml. Esta última parte está super bien explicada en: http://tomcat.apache.org/tomcat-5.5-doc/apr.html

Hasta la próxima...

Nota: Si esta información te es de utilidad o piensas que se puede mejorar, por favor deja un comentario con tus observaciones.

Búsqueda

Síguenos