En Tomcat, conector HTTP es
BIO (Blocking I/O) con estabilidad, pero baja concurrenciao. Para aumentar el rendimiento de Tomcat, las formas alternativas o bien adaptar NIO (sin bloqueo de E / S - Non-Blocking I/O) o con el conector APR (Apache Portable Runtime). Sobre todo, el rendimiento de APR es en general mejor que otros al utilizar el protocolo SSL. Para más detalles sobre el rendimiento entre estos conectores puede hacer referencia a la comparación de Mike Noordermeer.
Se debe ejecutar el comando
Incluyendo la siguiente sentencia:
Incluir la siguiente linea.
Modifique o inserte con el siguiente contenido:
Prerequisiteo para instalar APR.
- Libreria APR
- Libreria APR-util
- Libreria OpenSSL
# yum install openssl-devel
Se debe ejecutar el comando
configure
o make
en los siguientes pasos, primero se debe instalar las herramientas relacionadas, las mismas que se instalan con el siguiente comando:# yum groupinstall "Development Tools"
Descargar y Instalar APR
# wget http://ftp.mirror.tw/pub/apache/apr/apr-1.4.8.tar.gz
# tar -zxvf apr-1.4.8.tar.gz
# cd apr-1.4.8
# ./configure
# make
# make install
El directorio por omisión de la instalación es: /usr/local/apr
Dedscargar e Instalar APR-util
# wget http://ftp.mirror.tw/pub/apache/apr/apr-util-1.5.2.tar.gz
# tar -zxvf apr-util-1.5.2.tar.gz
# cd apr-util-1.5.2
# ./configure --with-apr=/usr/local/apr
# make
# make install
El directorio por omisión de la instalación es: /usr/local/apr/lib
Instalar JNI Wrapper para APR usado por Tomcat (libtcnative)
# cd $CATALINA_HOME/bin
# tar -zxvf tomcat-native.tar.gz
# cd tomcat-native-1.1.27-src/jni/native
# ./configure --with-apr=/usr/local/apr --with-java-home=/usr/java/jdk1.7.0_25
# make
# make install
Las librerias native son instaladas en: /usr/local/apr/lib
Integrar APR con Tomcat
Los dos caminos se puede integrar APR con TOMCAT. Primero se puede adionar el siguiente parametro para que se ejecute cunado inicie el TOMCAT modificar el siguiente archivo:bin/catalina.sh
:Incluyendo la siguiente sentencia:
CATALINA_OPTS="-Djava.library.path=/usr/local/apr/lib"
Segunda forma es adicionando una variable de ambiente llamada LD_LIBRARY_PATH
en el archivo que genera las variables de ambiente: /etc/profile
:Incluir la siguiente linea.
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr/lib
Para que tenga efecto ejecutar lo siguiente:# source /etc/profile
Despues de reiniciar el servicio de Tomcat, se debe revisar el archivo de logs de mensajes llamado catalina.out
log revisar si el APR ha sido correctamente instalado.Sep 06, 2013 2:10:09 AM org.apache.catalina.core.AprLifecycleListener init
INFO: Loaded APR based Apache Tomcat Native library 1.1.27 using APR version 1.4.8.
Sep 06, 2013 2:10:09 AM org.apache.catalina.core.AprLifecycleListener init
INFO: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
Tomcat SSLEngine Error
SEVERE: Failed to initialize the SSLEngine.
org.apache.tomcat.jni.Error: 70023: This function has not been implemented on this platform
at org.apache.tomcat.jni.SSL.initialize(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.catalina.core.AprLifecycleListener.initializeSSL(AprLifecycleListener.java:259)
at org.apache.catalina.core.AprLifecycleListener.lifecycleEvent(AprLifecycleListener.java:110)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:402)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:99)
at org.apache.catalina.startup.Catalina.load(Catalina.java:640)
at org.apache.catalina.startup.Catalina.load(Catalina.java:665)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:281)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:455)
Si desplega este mensaje de error su siio esta sin soporte de SSL, se puede corregir este error inicializando en apahgado dentro del siguiente archivo: conf/server.xml
.Modifique o inserte con el siguiente contenido:
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="off" />
No hay comentarios:
Publicar un comentario