site pagina page official home tomcat6

pagina - Tomcat se instala con CATALINA_HOME en/usr/share/tomcat6 y CATALINA_BASE en/var/lib/tomcat6



tomcat official site (6)

Creo que es una buena pregunta.

Lo encontré también confuso. Instalé Tomcat hace unos minutos (después de un tiempo) y noté que son dos lugares "webapps" diferentes.

en / usr / share / tomcat6 / webapps / default_root / at / var / lib / tomcat6 / webapps / ROOT /

El contenido de ambos es el mismo pero ninguno de ellos son enlaces simbólicos.

Cuando empecé Tomcat dice:

Citar:

Esta es la página de inicio predeterminada de Tomcat. Se puede encontrar en el sistema de archivos local en: /var/lib/tomcat6/webapps/ROOT/index.html

A los veteranos de Tomcat6 les complacerá saber que esta instancia del sistema de Tomcat se instala con CATALINA_HOME en / usr / share / tomcat6 y CATALINA_BASE en / var / lib / tomcat6 Entonces, con base en esta información, la carpeta / usr / share / ... se mantuvo por compatibilidad con versiones anteriores, ¿verdad?

Pero de acuerdo con lo que publicaste, las bibliotecas se leen desde CATALINA_HOME en lugar de CATALINA_BASE.

¿Es posible que aún mantengan esa referencia predeterminada para evitar que otros sistemas dejen de funcionar después de la actualización?

¡Buena observación!

ACTUALIZAR:

Leí esto en: /usr/share/tomcat6/bin/catalina.sh:

Citar:

# 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.

Cuando leemos en: /etc/init.d/tomcat6:

(al principio)

CATALINA_HOME=/usr/share/$NAME

(entonces...)

# Directory for per-instance configuration files and webapps CATALINA_BASE=/var/lib/$NAME

Sin embargo, si intenta iniciar TOMCAT manualmente (como lo hice hace mucho tiempo) con: sudo /usr/share/tomcat6/bin/startup.sh

Muestra:

Citar:

Using CATALINA_BASE: /usr/share/tomcat6 Using CATALINA_HOME: /usr/share/tomcat6 Using CATALINA_TMPDIR: /usr/share/tomcat6/temp Using JRE_HOME: /usr touch: cannot touch `/usr/share/tomcat6/logs/catalina.out'': No such file or directory /usr/share/tomcat6/bin/catalina.sh: 357: cannot create /usr/share/tomcat6/logs/catalina.out: Directory nonexistent

Entonces, ¿por qué aquí CATALINA_BASE se establece como CATALINA_HOME?

/ usr / share / tomcat6 / logs / no existe, pero existe en / var / lib / tomcat6 / logs /

Veo que mis registros están escribiendo en / var / lib / ... al iniciar Tomcat desde el script init.d. Así que es mejor empezar desde allí.


CATALINA_HOME: le dice a "org.apache.catalina.startup.Bootstrap" dónde buscar / lib / bin requerido y otras, que son dependencias para ejecutar el servidor. Es básicamente su directorio de inicio de instalación de Tomcat.

CATALINA_BASE: espera una cierta estructura de directorios para escanear (una vez iniciada). Por ejemplo / conf para encontrar server.xml y web.xml que es específico de una aplicación web. Mientras tenga esa estructura de directorio y contenido, CATALINA_BASE puede ser cualquier directorio.


Lo he visto.

La forma correcta y linda es crear un script "setenv.sh" en su carpeta CATALINA_HOME / bin (en su caso "/usr/share/tomcat6/bin/setenv.sh").

El contenido de su setenv.sh:

#!/bin/sh export CATALINA_BASE=/new/catalinabase/path

Así que no hay necesidad de modificar catalina.sh por ti mismo. Si setenv.sh está presente en el directorio bin, catalina.sh lo ejecutará automáticamente.


No puedo decir por qué CATALINA_HOME y CATALINA_BASE son iguales en startup.sh (resp. Catalina.sh), eso es realmente extraño.

Por supuesto, puede iniciar Tomcat a través del script init.d. Pero a veces es posible que desee iniciarlo a través de startup.sh/catalina.sh (por ejemplo, para la depuración).

Por lo tanto, como solución / hackeo, puede corregir el problema agregando la siguiente línea al comienzo de /usr/share/tomcat6/bin/catalina.sh

export CATALINA_BASE=/var/lib/tomcat6


No soy un experto en Tomcat pero tuve el mismo problema y pude reiniciar el servidor con el comando: sudo /etc/init.d/tomcat6 restart


Podría hacer esto ejecutando este comando,

$ service tomcat6 start

que reinicializó mi ruta CATALINA_* e inicia la instancia de Tomcat


chmod +x startup.sh chmod +x shutdown.sh chmod +x catalina.sh chmod +x setclasspath.sh chmod +x bootstrap.jar chmod +x tomcat-jni.jar

Espero que sea trabajo.