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 la configuración de las variables CATALINA_HOME
y CATALINA_BASE
.
En mi instalación de Tomcat, he configurado CATALINA_HOME
para apuntar a una carpeta "común" (por ejemplo /tomcat6
) y la CATALINA_BASE
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 puedo simplemente tener uno
CATALINA_HOME
y eliminarloCATALINA_BASE
(o viceversa)?
java
tomcat
environment-variables
souser
fuente
fuente
$CATALINA_HOME
) del mantenimiento de la configuración y el contenido de la instancia de Tomcat (que viven en$CATALINA_BASE
).Respuestas:
Si está ejecutando varias instancias de Tomcat en un solo host, debe establecer
CATALINA_BASE
que sea igual al directorio.../tomcat_instance1
o.../tomcat_instance2
según corresponda para cada instancia y laCATALINA_HOME
variable de entorno a la instalación común de Tomcat cuyos archivos se compartirán entre las dos instancias.El
CATALINA_BASE
entorno es opcional si está ejecutando una sola instancia de Tomcat en el host y,CATALINA_HOME
en ese caso, lo hará de forma predeterminada . Si está ejecutando varias instancias como está, debe proporcionarse.Hay una descripción bastante buena de esta configuración en el
RUNNING.txt
archivo en la raíz de la distribución de Apache Tomcat bajo el título Configuración avanzada - Varias instancias de Tomcatfuente
CATALINA_HOME
vsCATALINA_BASE
Si está ejecutando varias instancias, entonces necesita ambas variables, solo de lo contrario
CATALINA_HOME
.En otras palabras:
CATALINA_HOME
es obligatorio yCATALINA_BASE
opcional.CATALINA_HOME
representa la raíz de su instalación de Tomcat.Ver: Apache Tomcat 7 - Introducción
Se ejecuta con separado
CATALINA_HOME
yCATALINA_BASE
está documentado en RUNNING.txt que dice:Por ejemplo:
Varias instancias de Tomcat
Como revisar
La forma más sencilla de comprobar cuál es tu
CATALINA_BASE
yCATALINA_HOME
es ejecutandostartup.sh
, por ejemplo:También puede verificar dónde están instalados los archivos Tomcat, mediante la
dpkg
herramienta que se muestra a continuación (Debian / Ubuntu):fuente
No puedo decir que conozca las mejores prácticas, pero esta es mi perspectiva.
¿ Estás usando estas variables para algo?
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 en particular que dependa de ellos, es probable que pueda dejarlos en paz.
catalina.sh
establece las variables que Tomcat necesita para trabajar de forma inmediata. También dice queCATALINA_BASE
es opcional:Estoy bastante seguro de que sabrá si su configuración funciona o no cuando inicie su servidor.
fuente
catalina_home
ruta en el\bin\catalina.sh
archivo para ambas instancias de tomcat?Apuntar
CATALINA_BASE
a un directorio diferente de leCATALINA_HOME
permite separar el directorio de configuración del directorio de binarios.De forma predeterminada,
CATALINA_BASE
(configuraciones) yCATALINA_HOME
(binarios) apuntan a la misma carpeta, pero separar las configuraciones de los binarios puede ayudarlo a ejecutar múltiples instancias de Tomcat en paralelo sin duplicar los binarios.También es útil cuando desea actualizar los archivos binarios, sin modificar o necesitar hacer una copia de seguridad / restaurar sus archivos de configuración para Tomcat.
Actualización 2018
Hay una forma más fácil de configurar CATALINA_BASE ahora con la
makebase
utilidad. He publicado un tutorial que cubre este tema en http://blog.rasia.io/blog/how-to-easily-setup-lucee-in-tomcat.html junto con un video tutorial en https://youtu.be / nuugoG5c-7MLa respuesta original continúa a continuación
Para aprovechar esta función, simplemente cree el directorio de configuración y apúntelo con la
CATALINA_BASE
variable de entorno. Tendrá que poner algunos archivos en ese directorio:conf
directorio del directorio de instalación original de Tomcat, incluido su contenido, y asegúrese de que Tomcat tenga permisos de lectura. Edite los archivos de configuración según sus necesidades.logs
directorio siconf/logging.properties
apunta${catalina.base}/logs
y asegúrese de que Tomcat tenga permisos de lectura / escritura.temp
directorio si no está anulando el predeterminado al$CATALINA_TMPDIR
que apunta${CATALINA_BASE}/temp
y asegúrese de que Tomcat tenga permisos de escritura en él.work
directorio predeterminado${CATALINA_BASE}/work
y asegúrese de que Tomcat tenga permisos de escritura.fuente
CATALINA_BASE es opcional.
Sin embargo, en los siguientes escenarios, es útil configurar CATALINA_BASE que es independiente de CATALINA_HOME.
Cuando se ejecutan más de 1 instancias de tomcat en el mismo host
Separación de preocupaciones (responsabilidad única)
fuente
Esa es la carpeta principal de bin que contiene el archivo tomcat.exe:
CATALINA_BASE
es lo mismo queCATALINA_HOME
.fuente