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_HOMEy CATALINA_BASE.
En mi instalación de Tomcat, he configurado CATALINA_HOMEpara apuntar a una carpeta "común" (por ejemplo /tomcat6) y la CATALINA_BASEvariable 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_HOMEy 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_BASEque sea igual al directorio.../tomcat_instance1o.../tomcat_instance2según corresponda para cada instancia y laCATALINA_HOMEvariable de entorno a la instalación común de Tomcat cuyos archivos se compartirán entre las dos instancias.El
CATALINA_BASEentorno es opcional si está ejecutando una sola instancia de Tomcat en el host y,CATALINA_HOMEen 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.txtarchivo en la raíz de la distribución de Apache Tomcat bajo el título Configuración avanzada - Varias instancias de Tomcatfuente
CATALINA_HOMEvsCATALINA_BASESi está ejecutando varias instancias, entonces necesita ambas variables, solo de lo contrario
CATALINA_HOME.En otras palabras:
CATALINA_HOMEes obligatorio yCATALINA_BASEopcional.CATALINA_HOMErepresenta la raíz de su instalación de Tomcat.Ver: Apache Tomcat 7 - Introducción
Se ejecuta con separado
CATALINA_HOMEyCATALINA_BASEestá 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_BASEyCATALINA_HOMEes ejecutandostartup.sh, por ejemplo:También puede verificar dónde están instalados los archivos Tomcat, mediante la
dpkgherramienta 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.shestablece las variables que Tomcat necesita para trabajar de forma inmediata. También dice queCATALINA_BASEes opcional:Estoy bastante seguro de que sabrá si su configuración funciona o no cuando inicie su servidor.
fuente
catalina_homeruta en el\bin\catalina.sharchivo para ambas instancias de tomcat?Apuntar
CATALINA_BASEa un directorio diferente de leCATALINA_HOMEpermite 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
makebaseutilidad. 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_BASEvariable de entorno. Tendrá que poner algunos archivos en ese directorio:confdirectorio 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.logsdirectorio siconf/logging.propertiesapunta${catalina.base}/logsy asegúrese de que Tomcat tenga permisos de lectura / escritura.tempdirectorio si no está anulando el predeterminado al$CATALINA_TMPDIRque apunta${CATALINA_BASE}/tempy asegúrese de que Tomcat tenga permisos de escritura en él.workdirectorio predeterminado${CATALINA_BASE}/worky 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_BASEes lo mismo queCATALINA_HOME.fuente