Última versión: 2.0.2-1

|
Vista rápida |
|
|
Catálogo |
Sistema |
|
Categoría |
Servidores de aplicaciones |
|
Volúmenes de usuario |
yes |
|
Memoria mín. |
160 MB |
|
SO |
Linux |
|
Restricciones |
no |
|
Preguntas o comentarios |
|
TOMCAT es un dispositivo de servidor Web basado en una máquina Java Sun y Apache Tomcat, un servlet de Java y un contenedor de páginas de JavaServer desarrollado bajo licencia de Apache. La documentación principal de Tomcat se encuentra en tomcat.apache.org. Tomcat ofrece compatibilidad conforme a los estándares para servlets y JSP. Tomcat puede funcionar como servidor Web independiente o como servidor de aplicaciones.
TOMCAT sirve contenido Web estático, implementa automáticamente aplicaciones Web y ejecuta servlets y páginas de JavaServer a partir de un volumen de contenido configurable por el usuario. Las rutas a los documentos son configurables, para que el mismo volumen se pueda compartir entre varios servidores Web y otros dispositivos que sirven contenido diferente.
TOMCAT sirve protocolo HTTP/1.1 y HTTP/1.0 a clientes Web y AJP 1.3 para las solicitudes que vienen de servidores front-end (por ejemplo, Apache con mod_proxy_ajp).
Al igual que los servidores WEBx, TOMCAT tiene tres terminales de salida genéricos para acceder a los servicios externos de los scripts del volumen de contenido. El terminal db se usa para acceder a diversas bases de datos; el terminal fs se usa para acceder a almacenamiento de archivos compartidos (mediante NFS); y el terminal aux se crea para enviar mensajes de correo electrónico a un servidor SMTP.
El terminal de registro debe utilizarse para conectar TOMCAT a un sistema de archivos compartido, donde TOMCAT puede almacenar archivos de registro.
La configuración del servidor se define mediante diversas propiedades. Estas propiedades están diseñadas para cubrir la mayoría de las variantes de uso de una forma fácil de configurar y, en la mayor parte de los casos, solamente hay que configurar unas cuantas con valores no predeterminados.
|
Nombre |
Última versión |
SO |
Versión de máquina de Java |
Versión de Apache Tomcat |
|
TOMCAT |
2.0.2-1 |
CentOS 5.5 |
JDK 1.6.0.22 |
6.0.29 |
|
TOMCAT64 |
2.0.2-1 |
CentOS 5.5 (64 bits) |
JDK 1.6.0.22 |
6.0.29 |
Recursos para TOMCAT
|
Recurso |
Mínimo |
Máximo |
Predeterminado |
|
CPU |
0,1 |
16 |
0,3 |
|
Memoria |
160 MB |
4 G |
512 MB |
|
Ancho de banda |
1 Mbps |
2 Gbps |
250 Mbps |
Recursos para TOMCAT64
|
Recurso |
Mínimo |
Máximo |
Predeterminado |
|
CPU |
0,1 |
16 |
0,3 |
|
Memoria |
160 MB |
64 G |
512 MB |
|
Ancho de banda |
1 Mbps |
2 Gbps |
250 Mbps |
Tenga en cuenta lo siguiente:
Importante: TOMCAT tiene restricciones heredadas del equipo de java de 32 bits. Este equipo de java no puede funcionar con más de 2,6 Gb de memoria aproximadamente y la adjudicación de más 2,8 Gb de memoria para TOMCAT no es eficaz.
|
Recurso |
Mínimo |
Máximo |
Predeterminado |
|
CPU |
0,1 |
16 |
0,3 |
|
Memoria |
160 MB |
64 G |
512 MB |
|
Ancho de banda |
1 Mbps |
2 Gbps |
250 Mbps |
Tenga en cuenta lo siguiente:
Importante: TOMCAT tiene restricciones heredadas del equipo de java de 32 bits. Este equipo de java no puede funcionar con más de 2,6 Gb de memoria aproximadamente y la adjudicación de más 2,8 Gb de memoria para TOMCAT no es eficaz.
|
Recurso |
Mínimo |
Máximo |
Predeterminado |
|
CPU |
0,1 |
16 |
0,3 |
|
Memoria |
160 MB |
64 G |
512 MB |
|
Ancho de banda |
1 Mbps |
2 Gbps |
250 Mbps |
Tenga en cuenta lo siguiente:
Importante: TOMCAT tiene restricciones heredadas del equipo de java de 32 bits. Este equipo de java no puede funcionar con más de 2,6 Gb de memoria aproximadamente y la adjudicación de más 2,8 Gb de memoria para TOMCAT no es eficaz.
Requisitos de memoria para almacenamiento de sesiones de aplicaciones Java
Además de la memoria para las aplicaciones de Java, debe haber cierta cantidad de memoria disponible para almacenar las sesiones de las aplicaciones. Cada sesión vacía (sin datos adicionales almacenados) utiliza cerca de 2 kB de memoria. Esa memoria se utiliza mientras dura la sesión (la vida de sesión predeterminada es de 30 min). Se puede configurar la duración de la sesión modificando o agregando una sección adicional al archivo de configuración web.xml de una aplicación. Por ejemplo, la inclusión de este código a continuación configura la duración de la sesión en 1 minuto:
<session-config>
<session-timeout>1</session-timeout>
</session-config>
Si se esperan 10.000 visitantes únicos en 30 min, se necesitarán 20 Mb adicionales de memoria libre. En general, la cantidad necesaria de memoria es igual al número máximo de sesiones activas simultáneas multiplicado por el tamaño medio de una sesión.
Importante: Si no hay suficiente memoria disponible, es posible que TOMCAT no funcione correctamente. Esto depende de las aplicaciones de usuario que se estén ejecutando en TOMCAT, no es una limitación del dispositivo en sí.
Terminales
|
Nombre |
Dirección |
Protocolo |
Descripción |
|
in |
Entrante |
HTTP |
Sirve solicitudes HTTP procedentes de clientes Web. Es compatible con los protocolos HTTP/1.1, HTTP/1.0 y AJP. |
|
db |
Saliente |
Cualquiera |
Permite acceder a un servidor de base de datos. El uso se define mediante los scripts que residan en el volumen de contenido (si existe alguno). Este terminal se puede dejar desconectado si no se usa. |
|
fs |
Saliente |
NFS |
Acceso a un sistema de archivos de red para almacenamiento compartido de archivos que proporciona acceso de lectura/escritura al archivo a través de NFS. El uso se define mediante los scripts que residan en el volumen de contenido (si existe alguno). El software del volumen de contenido "ve" el sistema de archivos remoto montado como /mnt/fs en el espacio del sistema de archivos del dispositivo. Este terminal se puede dejar desconectado si no se usa. El servidor conectado debe tener un recurso compartido de lectura/escritura denominado /mnt/data exportado a través de NFS. |
|
log |
Saliente |
CIFS |
Acceso a un sistema de archivos de red basado en CIFS para almacenar registros de error y de acceso. Este terminal se puede dejar desconectado si no se usa. El servidor conectado debe permitir inicios de sesión anónimos y tener un recurso compartido de lectura/escritura exportado denominado share. |
|
aux |
Saliente |
Cualquiera |
Acceso a un servidor SMTP para el envío de correo electrónico saliente. |
|
net |
Saliente |
Cualquiera |
Salida de la puerta de enlace para acceso de subred. |
|
mon |
Saliente |
CCE |
Envía estadísticas de rendimiento y de uso de recursos al dispositivo MON. |
La interfaz predeterminada está activada. Se utiliza para diagnósticos y solución de problemas (mediante SSH). Las versiones futuras de este dispositivo pueden desactivar el acceso de SSH.
Volúmenes de usuario
|
Volumen |
Descripción |
|
content |
Volumen para el almacenamiento de aplicaciones de tomcat, datos de aplicaciones y archivos de trabajo y temporales. Este volumen sólo se utiliza si la propiedad content_on_fs se establece en "off". |
Propiedades
|
Nombre de la propiedad |
Tipo |
Descripción |
|
content_on_fs |
Cadena |
Especifica si el contenido se refiere al sistema de archivos del terminal fs o al volumen de contenido. Valor predeterminado: off (en el volumen de contenido) |
|
hostname |
Cadena |
Nombre de host del sitio Web. Valor predeterminado: localhost |
|
tomcat_port |
Entero |
Puerto donde Tomcat está a la escucha de solicitudes HTTP entrantes. Valor predeterminado: 8080 |
|
session_timeout |
Entero |
Tiempo de espera para la sesión de usuario, en minutos, durante la cual TOMCAT guardará todos los datos asociados con la sesión de usuario en memoria. Valor predeterminado: 30 |
|
max_connections |
Entero |
Número máximo de conexiones simultáneas permitidas. Cuando se alcanza este número, se siguen aceptando nuevas conexiones, pero se retrasa su procesamiento hasta que se cierre otra conexión. Valor predeterminado: 100 |
|
heap_size |
Entero |
Memoria asignada al montón Java (la opción Java -Xmx), en megabytes. Si es 0, este valor se calcula automáticamente. Valor predeterminado: 0 |
|
perm_size |
Entero |
Memoria asignada para objetos permanentes de Java (la opción Java -XX:PermSize), en megabytes. Si es 0, este valor se calcula automáticamente. Valor predeterminado: 0 |
|
app_base |
Cadena |
Directorio raíz para los documentos y los archivos de trabajo y temporales. En esta carpeta se creará una estructura típica de un directorio de Tomcat ${catalina.base}: "shared" para bibliotecas comunes a todas las aplicaciones java; "temp" y "work" para archivos temporales y de trabajo; y el subdirectorio definido en la propiedad work_dir, análogo a ${catalina.base}/webapps. Valor predeterminado: vacío |
|
work_dir |
Cadena |
Directorio donde están los documentos que se tienen que servir. También se utiliza para implementación automática. Dispone de más información en el sitio Web de Tomcat, en la sección sobre implementación de aplicación automática. Valor predeterminado: webapps |
|
timezone |
Cadena |
Especifica la zona horaria utilizada en el dispositivo. Si esta propiedad está vacía, la zona horaria no se modifica y se deja tal cual. Aquí tiene disponible una lista de zonas horarias admitidas. Valor predeterminado: vacío |
Registro de propiedades
|
Nombre de la propiedad |
Tipo |
Descripción |
|
logs_enabled |
Cadena |
Activa o desactiva el registro por completo. Valor predeterminado: no |
|
logs_base_dir |
Cadena |
Directorio donde se almacenan los archivos de registro. Valor predeterminado: vacío. Se colocarán los registros en el directorio raíz del volumen NAS montado. |
|
error_log_filename |
Cadena |
Prefijo de nombre de archivo para el registro de errores. Valor predeterminado: catalina |
|
log_level |
Cadena |
Nivel de registro. Los valores son, aumentando nivel de verbosidad, SEVERE, WARNING, INFO, CONFIG, FINE, FINER, FINEST, ALL. Dispone de una descripción más detallada de los niveles de registro en la documentación de Tomcat. Valor predeterminado: INFO |
|
enable_access_log |
Cadena |
Activa o deshabilita el registro de acceso. Valor predeterminado: no |
|
access_log_filename |
Cadena |
Prefijo de nombre de archivo para el registro de acceso. Valor predeterminado: access.log |
Contadores personalizados
El dispositivo TOMCAT informa sobre los siguientes contadores personalizados a través del terminal "mon". Estos contadores pertenecen al grupo de contadores de TOMCAT (TOMCAT64 en el caso de TOMCAT64):
|
Nombre del contador |
Descripción |
|
Classes loaded |
Número de clases cargadas. |
|
Classes loaded bytes |
Número de Kbytes cargados. |
|
Classes unloaded |
Número de clases descargadas. |
|
Classes unloaded bytes |
Número de Kbytes descargados. |
|
Classes load/unload execution time |
Tiempo consumido en las operaciones de carga y descarga de clases. |
|
Compiler compiled |
Número de tareas de compilación realizadas. |
|
Compiler failed |
Número de tareas de compilación fallidas. |
|
Compiler invalid |
Número de tareas de compilación invalidadas. |
|
Compiler execution time |
Tiempo consumido en tareas de compilación. |
|
Heap s0 space capacity |
Capacidad de espacio de superviviente actual 0. |
|
Heap s1 space capacity |
Capacidad de espacio de superviviente actual 1. |
|
Heap s0 space utilization |
Uso de espacio de superviviente 0. |
|
Heap s1 space utilization |
Uso de espacio de superviviente 1. |
|
Heap eden space capacity |
Capacidad de espacio de eden actual. |
|
Heap eden space utilization |
Uso de espacio de eden. |
|
Heap old space capacity |
Capacidad de espacio de montón actual. |
|
Heap old space utilization |
Uso de espacio antiguo. |
|
Heap permanent space capacity |
Capacidad de espacio permanente actual. |
|
Heap permanent space utilization |
Uso de espacio permanente. |
|
Heap young generation GC events |
Número de eventos GC de generación reciente (GC - Recolección de elementos no utilizados). |
|
Heap young generation GC time |
Tiempo de recolección de elementos no utilizados de generación reciente. |
|
Heap number of GC events |
Número de eventos GC completos. |
|
Heap full GC time |
Tiempo de recolección de elementos no utilizados completa. |
|
Heap total GC time |
Tiempo de recolección de elementos no utilizados total. |
|
Pool current new generation |
Nueva capacidad de generación actual. |
|
Pool min new generation |
Capacidad de generación nueva mínima. |
|
Pool max new generation |
Capacidad de generación nueva máxima. |
|
Pool current old generation |
Capacidad de generación antigua actual. |
|
Pool min old generation |
Capacidad de generación antigua mínima. |
|
Pool max old generation |
Capacidad de generación antigua máxima. |
|
Pool current permanent generation |
Capacidad de generación permanente actual. |
|
Pool min permanent generation |
Capacidad de generación permanente mínima. |
|
Pool max permanent generation |
Capacidad de generación permanente máxima. |
|
New generation tenuring threshold |
Umbral de antigüedad. |
|
New generation max tenuring threshold |
Umbral de antigüedad máximo. |
|
Desired survivor size |
Tamaño de superviviente deseado. |
|
Compiler tasks |
Número de tareas de compilación realizadas. |
En caso de error al iniciar el dispositivo, pueden aparecer los errores siguientes en el registro del sistema:
|
Mensaje de error |
Descripción |
|
ERROR: Logs are enabled, but log terminal is not connected. |
El terminal de registro no está conectado, pero logs_enabled o enable_access_log está establecido en "yes". |
|
ERROR: Property content_on_fs is 'off' but the local content volume is missing. |
content_on_fs está establecido en "off", lo cual especifica que el volumen de datos se deberá montar localmente, pero TOMCAT no puede montar el volumen de contenido. La causa más probable es que el volumen de contenido no se haya formateado, o no se haya definido en las propiedades de TOMCAT. |
|
ERROR: Failed to mount nfs share. |
TOMCAT no puede montar el recurso compartido nfs. La causa probable es que fs no esté conectado o que TOMCAT se haya iniciado antes que NAS (o cualquier dispositivo que se conecte al terminal fs). |
|
Mensaje |
Descripción |
|
Data storage has less than 5% of free disk space |
El volumen de datos al cual se accede a través del terminal fs tiene menos del 5 % de espacio libre en disco. Se aconseja aumentar el tamaño del volumen. |
|
Data storage has less than 1% of free disk space |
El volumen de datos al cual se accede a través del terminal fs tiene menos del 1 % de espacio libre en disco. Se requiere atención inmediata; puede producirse una pérdida de datos. |
|
Content volume has less than 5% of free disk space |
El volumen de contenido en el dispositivo tiene menos del 5 % de espacio libre en disco. Se aconseja aumentar el tamaño del volumen. |
|
Content volume has less than 1% of free disk space |
El volumen de contenido en el dispositivo tiene menos del 1 % de espacio libre en disco. Se requiere atención inmediata; puede producirse una pérdida de datos. |
El rendimiento de TOMCAT puede verse afectado si se activa el registro (ya sea habilitar el registro de errores mediante logs_enabled = yes o acceder a los registros mediante enable_access_log = yes). La tabla siguiente contiene los resultados de un punto de referencia (benchmark). Dichos resultados están expresados en solicitudes por segundo (sps) y se han obtenido con los registros desactivados mediante la utilidad Apache Benchmark que se incluye con las versiones 2.0 y 2.2 del servidor Web de Apache. Encontrará más información para ab en el sitio Web de Apache. Se utilizaron los siguientes valores de configuración para el benchmarking: "bw=500M mem=2G cpu=2".
|
Simultaneidad |
sps |
|
1 cliente simultáneamente |
2.800-3.200 rps |
|
10 clientes simultáneamente |
7.500-7.900 rps |
|
100 clientes simultáneamente |
7.700-8.100 sps |
Sitio Web habilitado para Java simple
TOMCAT servirá aplicaciones desde el volumen de contenido.
Dispositivos en uso:
|
Nombre de la propiedad |
Valor |
Notas |
|
hostname |
www.mysite.org |
Nombre de host del sitio. |
|
app_base |
MyApp |
|
|
content_on_fs |
off |
TOMCAT utiliza el contenido del volumen de usuario para todo el contenido. |
|
timezone |
EST |
Zona horaria del este. |
|
tomcat_port |
80 |
Puerto estándar para el protocolo HTTP. |
Las solicitudes de cliente llegan a la puerta de enlace IN. La puerta de enlace envía las solicitudes al servidor TOMCAT, el cual proporciona la solicitud.
Aplicación de dos niveles con base de datos, registro y control
Dispositivos en uso:
Ejemplo de configuración de las propiedades:
|
Nombre de la propiedad |
Valor |
Notas |
|
hostname |
www.mysite.org |
Nombre de host del sitio. |
|
app_base |
MyApp |
|
|
content_on_fs |
on |
TOMCAT utiliza almacenamiento remoto a través del terminal fs para todo el contenido. |
|
timezone |
EST |
Zona horaria del este. |
|
tomcat_port |
80 |
Puerto estándar para el protocolo HTTP. |
|
max_connections |
200 |
200 usuarios simultáneos como máximo. |
|
logs_enabled |
yes |
Permite registros de errores. |
|
logs_base_dir |
MyApp_Log_Dir |
|
|
log_level |
INFO |
|
|
error_log_filename |
error_log |
Nombre del registro de errores. |
|
enable_access_log |
yes |
Activa el registro de acceso. |
|
access_log_filename |
myapp_access |
Nombre del registro de acceso. |
La solicitud del cliente llega a la puerta de enlace IN. La puerta de enlace envía las solicitudes al servidor TOMCAT, el cual proporciona la solicitud. El contenido y los registros se encuentran en el dispositivo de almacenamiento. Los contadores se comunican al dispositivo MON.
Nota: Las aplicaciones Java pueden utilizar muchos tipos de bases de datos. Depende solamente de la presencia del controlador JDBC apropiado en la aplicación. TOMCAT permite conectar cualquier dispositivo de base de datos a su terminal db.
WEB5 como front-end para TOMCAT
El diagrama siguiente muestra un uso del dispositivo TOMCAT como servidor de aplicaciones y WEB5 como front-end. WEB5 sirve contenido estático y redirige todas las solicitudes que requieren procesamiento de lado de servidor al TOMCAT mediante el protocolo AJP.

Nota: Es necesario activar el soporte AJP (active mod_proxy y mod_proxy_ajp) en WEB5 para este modo.
Dispositivos en uso:
Ejemplo de configuración de las propiedades:
|
Nombre de la propiedad |
Valor |
Notas |
|
content_on_fs |
off |
TOMCAT utiliza el contenido del volumen de usuario para todo el contenido. |
|
timezone |
EST |
Zona horaria del este. |
Otros ajustes tienen sus valores predeterminados.
WEB5 debe estar correctamente configurado para trabajar como front-end y comunicarse con TOMCAT mediante el protocolo AJP.
mod_proxy y mod_proxy_ajp deben estar activados incluyendo las siguientes líneas en la configuración de Apache.
LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
Se debe especificar parte de la ruta del espacio url para que TOMCAT pueda servir contenido, por ejemplo:
ProxyPass /path-that-served-by-tomcat ajp://aux:8009/some-servlet ProxyPassReverse /path-that-served-by-tomcat ajp://aux:8009/some-servlet
Por ejemplo:
|
Ruta |
Contenido |
Servidor por |
|
/index.html |
Documento html estático |
Servido por WEB5 |
|
/images/* |
Archivos gráficos estáticos |
Servido por WEB5 |
|
/scripts/*.php |
Contenido dinámico generado por scripts php |
Servido por WEB5 |
|
/path-that-served-by-tomcat |
Contenido dinámico generado por jsp |
Servido por TOMCAT |
La solicitud del cliente llega a la puerta de enlace IN. La puerta de enlace reenvía las solicitudes al servidor Web de front-end, el cual sirve solicitudes de páginas html estáticas, archivos gráficos y scripts php. Las solicitudes de páginas jsp o páginas de servlet se reenvían a AppServer, el cual las sirve.
Sitio Web habilitado para Java escalable
Dispositivos en uso:
Configuración de propiedad de ejemplo tanto para AppServer1 como para AppServer2:
|
Nombre de la propiedad |
Valor |
Notas |
|
content_on_fs |
off |
TOMCAT utiliza el contenido del volumen de usuario para todo el contenido. |
|
timezone |
EST |
Zona horaria del este. |
Otros ajustes tienen sus valores predeterminados.
La solicitud del cliente llega a la puerta de enlace IN. La puerta de enlace envía las solicitudes al equilibrador de carga lb, el cual dirige la solicitud a uno de los servidores, AppServer1 y AppServer2.
Software de fuente abierta y de terceros utilizado dentro del dispositivo
TOMCAT y TOMCAT64 utilizan los siguientes paquetes de fuente abierta de terceros, además de los paquetes de fuente abierta de terceros que utilizan sus clases base LUX5 y LUX64 respectivamente.
TOMCAT
|
Software |
Versión |
Modificado |
Licencia |
Notas |
|
Apache Tomcat |
5.5.28 |
Sí |
Licencia de Apache v2.0 |
Página principal |
|
JDK |
1.6.0.18 |
No |
Sun-BCL |
disponible en el sitio Web de Sun |
|
samba-client |
3.0.28-0.el5.8 |
No |
GPLv2 |
N/D |
|
samba-common |
3.0.28-0.el5.8 |
No |
GPLv2 |
N/D |
TOMCAT64
|
Software |
Versión |
Modificado |
Licencia |
Notas |
|
Apache Tomcat |
5.5.28 |
Sí |
Licencia de Apache v2.0 |
Página principal |
|
JDK |
1.6.0.18 |
No |
Sun-BCL |
disponible en el sitio Web de Sun |
|
samba-client |
3.0.28-1.el5_2.1 |
No |
GPLv2 |
N/D |
|
samba-common |
3.0.28-1.el5_2.1 |
No |
GPLv2 |
N/D |
| Copyright © 2011 CA. Todos los derechos reservados. | Enviar correo electrónico a CA Technologies acerca de este tema |