Instalando APR en Tomcat
Apache Portable Runtime
La Apache Portable Runtime (APR) es una librería que proporciona una mayor integración con los componentes nativos del sistema operativo donde se ejecuta Apache Tomcat mejorando de esta forma su rendimiento.
Además, si usamos el conector AJP para comunicarse con nuestra capa de frontal (p.e. apache2) esta librería reduce significativamente el número de threads que Apache Tomcat necesita.
En este post vamos a ver como añadir esta librería a nuestro tomcat para obtener este mejor performance.
Descarga la librería de aquí https://tomcat.apache.org/download-native.cgi
En mi caso he descargado la última de la serie 1.1.x (la v1.1.34 en el momento de escribir este post) ya que mi versión de openssl en mi sistema operativo debian 8 es la 1.0.1. Si tu versión de sistema operativo es mayor, descarga la última de la serie 1.2.x
Descomprime el paquete y posiciónate en el directorio jni/native
noroot@elsuper:/home/noroot$ tar -zxvf tomcat-native-1.1.34-src.tar.gz && cd tomcat-native-1.1.34-src/jni/native
Una vez ahí, vamos a instalar una serie de dependencias para poder compilar correctamente la librería
noroot@elsuper:/home/noroot/tomcat-native-1.1.34-src/jni/native$ sudo apt-get install libtcnative-1 libapr1-dev libssl-dev build-essential
A continuación, ejecuta el siguiente comando (en --with-java-home pon la ruta a tu JAVA_HOME y en --prefix tendrás que indicar la ruta de tu servidor de aplicaciones)
noroot@elsuper:/home/noroot/tomcat-native-1.1.34-src/jni/native$ ./configure --with-apr=/usr/bin/apr-1-config --with-ssl --with-java-home=/opt/jdk1.8 --prefix=/opt/liferay/liferay-7/tomcat-8.0.32
Una vez configurado, compilamos e instalamos
noroot@elsuper:/home/noroot/tomcat-native-1.1.34-src/jni/native$ make && make install
En este punto la librería está compilada y copiada en el directorio /lib del tomcat
Ahora vamos a indicarle al Tomcat que use esta librería añadiendo al final del fichero de variables de entorno /opt/liferay/liferay-7/tomcat-8.0.32/bin/setenv.sh lo siguiente
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CATALINA_HOME/lib
export LD_LIBRARY_PATH
Y por último reinicia el Apache Tomcat y verás en los logs que el servidor está ya utilizando esta librería