Verificar configuración de Tomcat con configtest.sh (Linux)/configtest.bat (Windows)

Una buena práctica tras realizar cambios en cualquier servicio, ya sea Tomcat en este caso o un Apache, Nginx, Postfix, etc. es ejecutar antes de reiniciar o recargar el servicio es verificar que la configuración establecida es correcta y no hay fallos de sintaxis, propiedades o atributos.

En el caso de Tomcat, dentro de $HOME del servicio hay un script que verifica que la sintaxis de los ficheros de configuración es correcta y que el servicio arrancará correctamente. Hace una especie de dry-run simulando el arranque de Tomcat.

Para sistemas GNU/Linux, encontraréis el script en la ruta $CATALINA_HOME/bin/configtest.sh y en Windows en $CATALINA_HOME/bin/configtest.bat.

A continuación podéis ver un ejemplo de la salida que muestra el script en Linux, como veis, /opt/apache-tomcat-7.0.93 es la ruta de $CATALINA_HOME:

[root@foo bin]# ./configtest.sh
Using CATALINA_BASE:   /opt/apache-tomcat-7.0.93
Using CATALINA_HOME:   /opt/apache-tomcat-7.0.93
Using CATALINA_TMPDIR: /opt/apache-tomcat-7.0.93/temp
Using JRE_HOME:        /opt/java/jdk1.6.0_211/jre
Using CLASSPATH:       /opt/apache-tomcat-7.0.93/bin/bootstrap.jar:/opt/apache-tomcat-7.0.93/bin/tomcat-juli.jar
Using CATALINA_PID:    /opt/apache-tomcat-7.0.93/run/catalina.pid
26-Apr-2019 09:21:20 org.apache.catalina.startup.VersionLoggerListener log
INFO: Server version:        Apache Tomcat/7.0.93
26-Apr-2019 09:21:20 org.apache.catalina.startup.VersionLoggerListener log
INFO: Server built:          Feb 16 2019 17:13:17 UTC
26-Apr-2019 09:21:20 org.apache.catalina.startup.VersionLoggerListener log
INFO: Server number:         7.0.93.0
26-Apr-2019 09:21:20 org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Name:               Linux
26-Apr-2019 09:21:20 org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Version:            3.10.0-957.10.1.el7.x86_64
26-Apr-2019 09:21:20 org.apache.catalina.startup.VersionLoggerListener log
INFO: Architecture:          amd64
26-Apr-2019 09:21:20 org.apache.catalina.startup.VersionLoggerListener log
INFO: Java Home:             /opt/java/jdk1.6.0_211/jre
26-Apr-2019 09:21:20 org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Version:           1.6.0_211-b11
26-Apr-2019 09:21:20 org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Vendor:            Sun Microsystems Inc.
26-Apr-2019 09:21:20 org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_BASE:         /opt/apache-tomcat-7.0.93
26-Apr-2019 09:21:20 org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_HOME:         /opt/apache-tomcat-7.0.93
26-Apr-2019 09:21:20 org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
26-Apr-2019 09:21:20 org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
26-Apr-2019 09:21:20 org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dignore.endorsed.dirs=
26-Apr-2019 09:21:20 org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.base=/opt/apache-tomcat-7.0.93
26-Apr-2019 09:21:20 org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.home=/opt/apache-tomcat-7.0.93
26-Apr-2019 09:21:20 org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djava.io.tmpdir=/opt/apache-tomcat-7.0.93/temp
26-Apr-2019 09:21:20 org.apache.catalina.core.AprLifecycleListener lifecycleEvent
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /opt/java/jdk1.6.0_211/jre/lib/amd64/server:/opt/java/jdk1.6.0_211/jre/lib/amd64:/opt/java/jdk1.6.0_211/jre/../lib/amd64:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
26-Apr-2019 09:21:21 org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
26-Apr-2019 09:21:21 org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
26-Apr-2019 09:21:21 org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1088 ms

Todo lo que aparece son etiquetas INFO, así que no hay ningún fallo en esta configuración, deberíamos prestar especial atención, por ejemplo, a etiquetas ERROR, WARNING, SEVERE.