Apache Tomcat se atasca al arrancar
Últimamente, estaba trabajando con Tomcat 9 y me encontré con un problema. Se estaba atascando en la siguiente etapa durante el arranque
22-Sep-2018 03:06:00.347 INFO[ ]org.apache.catalina.startup.VersionLoggerListener.log Argumento de la línea de comandos: -Djava.io.tmpdir=/root/apache-tomcat-9.0.12/temp 22-Sep-2018 03:06:00.347 INFO principal org.apache.catalina.core.AprLifecycleListener.lifecycleEvent La biblioteca nativa de Apache Tomcat basada en APR que permite un rendimiento óptimo en entornos de producción no se encontró en la ruta java.library.path:[/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib] 22-Sep-2018 03:06:00.601INFO [principal] [ org.apache.coyote.AbstractProtocol.init Inicializando ProtocolHandler ["http-nio-8080"] 22-Sep-2018 03:06:00.629 INFO principal] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Utilizando un selector compartido para escritura/lectura de servlets 22-Sep-2018 03:06:00.650 INFO [principal] org.apache.coyote.AbstractProtocol.init Inicializando ProtocolHandler ["ajp-nio-8009"] 22-Sep-2018 03:06:00.651INFO [principal] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Utilizando un selector compartido para escritura/lectura de servlets 22-sep-2018 03:06:00.665 INFO [principal] org.apache.catalina.startup.Catalina.load Inicialización procesada en 1341 ms 22-Sep-2018 03:06:00.738INFO [principal] principal] org.apache.catalina.core.StandardService.startInternal Iniciando servicio [Catalina] 22-Sep-2018 03:06:00.738 INFO [ org.apache.catalina.core.StandardEngine.startInternal Iniciando motor Servlet: Apache Tomcat/9.0.12 22-Sep-2018 03:06:00.7 [principal]
66 INFO
[
principal] org
.apache.catalina.startup.HostConfig.deployDirectory Desplegando directorio de aplicación web [/root/apache-tomcat-9.0.12/webapps/ROOT]
¿También tiene el mismo problema?
Por lo general, esto sucede en VM y he aquí cómo puede solucionarlo. Haga una copia de seguridad de un archivo antes de modificarlo y, si es posible, haga una prueba en un entorno que no sea de producción
- Vaya a la carpeta de instalación de Tomcat y luego a bin
- Abra
catalina.
sh utilizando el editor vi - Busque JAVA_OPTS y añada lo siguiente
–
Djava.security.egd=archivo:/dev/./urandom
Por ejemplo, yo lo he añadido aquí
JAVA_OPTS="$JAVA_OPTS $JSSE_OPTS -Djava.security.egd=file:/dev/./urandom"
- Guarde el archivo y reinicie Tomcat
Mire el archivo catalina.
out y debería estar iniciado
22-sep-2018 05:44:26.898 INFO[ ] org.apache.catalina.startup.HostConfig.deployDirectory El despliegue del directorio de aplicaciones web [/root/apache-tomcat-9.0.12/webapps/manager] ha finalizado en [53] ms 22-Sep-2018 05:44:26.909 INFO principal org.apache.coyote.AbstractProtocolo. [principal]
iniciar
Iniciando ProtocolHandler ["http-nio-8080"]
22-Sep-2018 05:44:26.
924 INFOmain] org.apache.coyote.AbstractProtocol.start Inicio de ProtocolHandler ["ajp-nio-8009"] 22-Sep-2018 05:44:26.931 INFO [ org.apache.catalina.startup.Catalina.start Arranque del servidor en 2085 ms [principal]
Este sencillo truco me ha ayudado, ¡y espero que a usted también!
Si está aprendiendo o tiene curiosidad por aprender más sobre Tomcat, eche un vistazo a este curso para principiantes y avanzados.