Configuración del servidor de aplicaciones Tomcat

RECU-0111 (Recurso Referencia)

Descripción

A continuación se va a presentar un estudio sobre la estructura de carpetas para la configuración de aplicaciones dentro del servidor de aplicaciones Tomcat.

Características

En el servidor de aplicaciones Tomcat podremos encontrar la siguiente estructura de directorios:

  • bin - arranque, cierre, y otros scripts y ejecutables
  • common - clases comunes que pueden utilizar Catalina y las aplicaciones web
  • conf – ficheros XML y los correspondientes DTDs para la configuración de Tomcat
  • logs - logs de Catalina y de las aplicaciones
  • server - clases utilizadas solamente por Catalina
  • shared - clases compartidas por todas las aplicaciones web
  • temp – almacenamiento temporal para la máquina Java
  • webapps - directorio que contiene las aplicaciones web
  • work - almacenamiento temporal de ficheros y directorios

Pero no basta simplemente con situar los archivos, también es necesario indicar de forma global su localización final. Esto se hace mediante la definición de la variable global CATALINA_HOME, que contendrá el path del servidor de aplicaciones.

Los aspectos de configuración más importantes se encuentran recogidos en dos ficheros situados bajo "%CATALINA_HOME%conf".

  • "web.xml" que recoge los valores por defecto a utilizar por todas las aplicaciones web cargadas en la instancia de Tomcat, como pudiera ser, por ejemplo, la página a cargar por defecto.
  • "server.xml" que contiene la definición estructural del servidor: Nombre del host, servicios, conectores, etc.

Los componentes del fichero server.xml se reflejan en la siguiente tabla:

Etiqueta ExplicaciónEjemplo
<server>
</server>
(Único y engloba toda la configuración) Define el elemento de configuración básico del fichero server.xml. Es único y contiene uno o más servicios ("Service"). El atributo "port" indica el puerto destinado a la escucha del comando de cierre, indicado por "shutdown" o cierre.<Server port="8005" shutdown="SHUTDOWN">
<Listener/>(Único) Permiten definir las clases JMX que permitirá escuchar Tomcat.<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
<GlobalNamingResources>
</GlobalNamingResources>
(Único) Permite definir elementos JNDI para ser utilizados globalmente. 
<Service>
</Service>
Estas etiquetas permiten agrupar uno o más conectores de forma que compartan un único contenedor de aplicaciones. Poseen un único atributo, "name", que fija los identificadores individuales. Si "name" se fija como "Catalina" o "Tomcat-Standalone", se habilitará a Tomcat como servidor web independiente.

<Service name="Tomcat-Standalone"> </Service>

<Connector /> (dentro de "Service")Conecta un contenedor de datos con el exterior, definiendo el elemento final a través del cual se realizarán las peticiones de usuario y se enviarán las respuestas. Entre sus parámetros de configuración están el puerto de escucha, "port", la clase encargada de su definición, "className" y el número máximo de conexiones simultáneas permitidas, "acceptCount".<Connector className="org.apache.coyote.tomcat4.CoyoteConnector" port="8080" minProcessors="5" maxProcessors="75" enableLookups="true" acceptCount="100" connectionTimeout="20000" useURIValidationHack="false" disableUploadTimeout="true" />
<Engine>
</Engine>
(dentro de "Service") Punto donde se procesan las peticiones que llegan a los "Connector" que posean en la cabecera el valor de "defaultHost" como destino.<Engine name="Standalone" defaultHost="localhost">
<Logger/>(dentro de "Service" o de "Host") Permite establecer el nombre del fichero de logs. Como parámetros tiene la clase encargada de su definición, "className", el formato nombre del archivo, como la unión de un prefijo, "preffix", y un sufijo, "suffix".<Logger className="org.apache.catalina.logger .FileLogger" prefix="catalina_log." suffix=".txt" timestamp="true"/>
<Host>
</Host>
Con estas etiquetas podemos definir uno o más elementos Host virtuales para atender a las peticiones.<Host name="localhost" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Context>
</Context>
(dentro de "Host") Se utiliza para indicar la ruta ("docBase") a partir de la cual se encuentran las aplicaciones a ser ejecutadas en Tomcat (a partir de "%CATALINA_HOME%webapps" y el path url ("path") a partir del cual acceder a los servicios. 

Enlaces externos