Pregunta variables tomcat - CATALINA_BASE y CATALINA_HOME


Tengo varias instancias de tomcat 6 ejecutándose en el mismo servidor (Linux) y funciona como se esperaba. Estoy tratando de averiguar cuál es la práctica estándar con respecto a establecer el CATALINA_HOME y CATALINA_BASE variables.

En mi instalación de Tomcat, tengo configuración CATALINA_HOME apuntar a una carpeta "común" (por ejemplo /tomcat6) y el CATALINA_BASE la variable varía según el nombre de la instancia (por ejemplo /tomcat_instance1, /tomcat_instance2)

Mi pregunta es esta:

  • ¿Realmente necesito dos variables?
  • O solo puedo tener uno CATALINA_HOME y acabar con CATALINA_BASE (o viceversa) ?

74
2018-06-22 05:00


origen


Respuestas:


Si está ejecutando varias instancias de Tomcat en un solo host, debe configurar CATALINA_BASE ser igual al .../tomcat_instance1 o .../tomcat_instance2 directorio según corresponda para cada instancia y el CATALINA_HOME variable de entorno a la instalación común de Tomcat cuyos archivos se compartirán entre las dos instancias.

los CATALINA_BASE el entorno es opcional si está ejecutando una sola instancia de Tomcat en el host y se usará de forma predeterminada CATALINA_HOME en ese caso. Si está ejecutando varias instancias como es, debería proporcionarse.

Hay una descripción bastante buena de esta configuración en RUNNING.txt archivo en la raíz de la distribución de Apache Tomcat bajo el título Configuración avanzada: múltiples instancias Tomcat


80
2017-12-21 03:25



CATALINA_HOME vs CATALINA_BASE

Si está ejecutando varias instancias, necesita ambas variables; de lo contrario, solo CATALINA_HOME.

En otras palabras: CATALINA_HOME es requerido y CATALINA_BASE es opcional.

CATALINA_HOME representa la raíz de su instalación de Tomcat.

Opcionalmente, Tomcat se puede configurar para múltiples instancias definiendo $CATALINA_BASE para cada instancia. Si no hay varias instancias configuradas, $CATALINA_BASE es lo mismo que $CATALINA_HOME.

Ver: Apache Tomcat 7 - Introducción

Corriendo con separado CATALINA_HOME y CATALINA_BASE está documentado en RUNNING.txt que dice:

los CATALINA_HOME y CATALINA_BASE las variables de entorno se utilizan para   especifique la ubicación de Apache Tomcat y la ubicación de su activo   configuración, respectivamente.

No puedes configurar CATALINA_HOME y CATALINA_BASE variables en el    setenv secuencia de comandos, porque se utilizan para encontrar ese archivo.

Por ejemplo:

(4.1) Tomcat puede iniciarse ejecutando uno de los siguientes   comandos:

  %CATALINA_HOME%\bin\startup.bat         (Windows)

  $CATALINA_HOME/bin/startup.sh           (Unix)

o

  %CATALINA_HOME%\bin\catalina.bat start  (Windows)

  $CATALINA_HOME/bin/catalina.sh start    (Unix)

Múltiples instancias de Tomcat

En muchas circunstancias, es deseable tener una sola copia de un   Distribución binaria Tomcat compartida entre múltiples usuarios en el mismo   servidor. Para hacer esto posible, puede configurar el CATALINA_BASE   variable de entorno al directorio que contiene los archivos para su   instancia "personal" de Tomcat.

Cuando se ejecuta con un separado CATALINA_HOME y CATALINA_BASE, el   los archivos y directorios se dividen de la siguiente manera:

En CATALINA_BASE:

  • bin - Solo: setenv.sh (* nix) o setenv.bat (Windows), tomcat-juli.jar
  • conf - Archivos de configuración del servidor (incluido server.xml)
  • lib  - Bibliotecas y clases, como se explica a continuación
  • logs - Archivos de registro y salida
  • webapps - Aplicaciones web cargadas automáticamente
  • work- Directorios temporales de trabajo para aplicaciones web
  • temp - Directorio utilizado por la JVM para archivos temporales>

En CATALINA_HOME:

  • bin  - Guiones de inicio y cierre
  • lib  - Bibliotecas y clases, como se explica a continuación
  • endorsed - Bibliotecas que anulan los estándares estándar endosados. Por defecto está ausente.

Como revisar

La forma más fácil de verificar cuál es tu CATALINA_BASE y CATALINA_HOME es corriendo startup.sh, por ejemplo:

$ /usr/share/tomcat7/bin/startup.sh
Using CATALINA_BASE:   /usr/share/tomcat7
Using CATALINA_HOME:   /usr/share/tomcat7

También puede verificar dónde están instalados los archivos de Tomcat, dpkg herramienta como a continuación (Debian / Ubuntu):

dpkg -L tomcat7-common

58
2018-04-01 19:00



No puedo decir que conozco la mejor práctica, pero esta es mi perspectiva.

Son  usando estas variables para cualquier cosa?

Personalmente, no he necesitado cambiar ni en Linux ni en Windows en entornos que varían desde el desarrollo hasta la producción. A menos que esté haciendo algo particular que dependa de ellos, lo más probable es que los deje en paz.

catalina.sh establece las variables que Tomcat necesita para trabajar de manera predeterminada. También dice que CATALINA_BASE es opcional:

#   CATALINA_HOME   May point at your Catalina "build" directory.
#
#   CATALINA_BASE   (Optional) Base directory for resolving dynamic portions
#                   of a Catalina installation.  If not present, resolves to
#                   the same directory that CATALINA_HOME points to.

Estoy bastante seguro de que descubrirás si tu configuración funciona o no cuando inicies tu servidor.


10
2018-06-22 05:15



Señalando CATALINA_BASE a un directorio diferente de CATALINA_HOME le permite separar el directorio de configuración del directorio de binarios.

Por defecto, CATALINA_BASE (configuraciones) y CATALINA_HOME (binarios) apuntan a la misma carpeta, pero separar las configuraciones de los binarios puede ayudarlo a ejecutar varias instancias de Tomcat una al lado de la otra sin duplicar los binarios.

También es útil cuando quiere actualizar los binarios, sin modificar, o necesita hacer una copia de seguridad / restaurar sus archivos de configuración para Tomcat.

Para aprovechar esta característica, simplemente cree el directorio config y apúntelo con el CATALINA_BASE Variable ambiental. Deberá poner algunos archivos en ese directorio:

  • Copia el conf directorio desde el directorio de instalación original de Tomcat, incluidos sus contenidos, y asegúrese de que Tomcat le haya leído permisos. Edite los archivos de configuración según sus necesidades.
  • Crear un logs directorio si conf/logging.properties puntos a ${catalina.base}/logsy asegúrese de que Tomcat tenga permisos de lectura / escritura.
  • Crear un temp directorio si no está anulando el valor predeterminado de $CATALINA_TMPDIR que apunta a ${CATALINA_BASE}/tempy asegúrese de que Tomcat tenga permisos de escritura.
  • Crear un work directorio que por defecto es ${CATALINA_BASE}/worky asegúrese de que Tomcat tenga permisos de escritura.

5
2018-05-22 21:45



CATALINA_BASE es opcional.

Sin embargo, en los siguientes escenarios, ayuda a configurar CATALINA_BASE que está separado de CATALINA_HOME.

  1. Cuando se ejecutan más de 1 instancia de tomcat en el mismo host

    • Esto ayuda a tener solo 1 tiempo de ejecución de la instalación de tomcat, con múltiples configuraciones de servidor CATALINA_BASE ejecutándose en puertos separados.
    • Si es necesario realizar alguna modificación, o actualización de la versión, solo se requieren 1 cambios de instalación, o deben ser probados / verificados / cancelados.
  2. Separación de preocupación (responsabilidad única)

    • El tiempo de ejecución de Tomcat es estándar y no cambia durante cada proceso de lanzamiento. es decir, binarios de Tomcat
    • El proceso de lanzamiento puede agregar más cosas como webapplication (carpeta webapps), configuración del entorno (directorio conf), directorio de registros / temp / work

0
2017-08-02 15:20



Esa es la carpeta principal de bin que contiene el archivo tomcat.exe:

CATALINA_HOME='C:\Program Files\Apache Software Foundation\Tomcat 6.0'

CATALINA_BASE es lo mismo que CATALINA_HOME.


-3
2018-01-05 14:18