Não consigo encontrar uma resposta definitiva para o porquê do Ubuntu definir a CATALINA_BASE
variável de ambiente, tornando-a diferente CATALINA_HOME
. Encontrei este documento que sugere que a não configuração CATALINA_BASE
seria equivalente a CATALINA_HOME
. Esse documento também sugere que a configuração CATALINA_BASE
seria feita para disponibilizar várias instâncias.
No entanto, parece que não consigo encontrar nada que explique isso. Presumivelmente, rodar com um single CATALINA_HOME
é bom há muito tempo, mas o Ubuntu mudou.
Eu encontrei esta pergunta com uma resposta esclarecedora sobre AskUbuntu mas não há muito especificamente sobre CATALINA_HOME
vs. CATALINA_BASE
. Essa pergunta faz alusão ao parâmetro "appBase", que está documentado na documentação do Tomcat6 para o contêiner Host no arquivo de configuração.
Aqui estão as perguntas: Por que essas duas variáveis são separadas? Quando eles devem ser separados? O que isso permite que o administrador faça? O que você coloca em cada diretório? Quando essas duas variáveis devem ser as mesmas? O que a ASF recomenda para a prática padrão?
Respostas:
catalina.home aponta para a localização das informações comuns.
catalina.base aponta para o diretório em que todas as informações específicas da instância são mantidas.
Então você tem 1 casa e pode ter mais de 1 base.
Se você possui 1 tomcat, pode defini-los com o mesmo valor, mas as boas práticas sugerem que você planeje com antecedência e mantenha-os separados: você nunca sabe se precisa de mais de um tomcat. O Ubuntu começou a seguir essa maneira de pensar por ser mais lógico: facilita a execução de 2 ou mais tomcats, mas não desativa a execução de 1 tomcat, onde a configuração dos dois com o mesmo valor exigiria que todos editassem o valor base. Faz mais sentido mantê-los diferentes.
Permita que mais de 1 tomcat sejam executados ao mesmo tempo em que cada instância do tomcat pode ter seus próprios aplicativos.
Casa contém o binairy.
Base contém conf, logs, webapps, trabalho e temp. 1 para cada instância do tomcat.
fonte
CATALINA_HOME
vsCATALINA_BASE
Se você estiver executando várias instâncias, precisará das duas variáveis, caso contrário apenas
CATALINA_HOME
.Em outras palavras:
CATALINA_HOME
é obrigatório eCATALINA_BASE
é opcional.CATALINA_HOME
representa a raiz da sua instalação do Tomcat.Veja: Apache Tomcat 7 - Introdução
Executando com separado
CATALINA_HOME
eCATALINA_BASE
está documentado em RUNNING.txt, que diz:Por exemplo:
Várias instâncias do Tomcat
Como verificar
A maneira mais fácil de verificar o que é seu
CATALINA_BASE
eCATALINA_HOME
executandostartup.sh
, por exemplo:Você também pode verificar onde os arquivos do Tomcat estão instalados, por
dpkg
ferramenta como abaixo (Debian / Ubuntu):fonte
Além de ser a melhor maneira de executar duas instâncias do tomcat, facilita a atualização.
Estou usando esta configuração.
CATALINA_HOME = / opt / apache-tomcat-7
CATALINA_BASE
aponta para um ou outro diretório de implantação.Binários básicos e bibliotecas estão em
/opt/
cópia apenasserver.xml
,web.xml
(e alguns outros arquivos, leia os documentos, por favor) e criar diretórios bin, registros, webapps, temp, trabalho (RTLM, L como lovelly, por favor)Você pode atualizar os binários do tomcat, modificando o
CATALINA_HOME
arquivo $ CATALINA_BASE / bin / setenv.sh para cada instância ou pode apenas modificar o link simbólico, atualizando os binários "globalmente"É mais fácil atualizar, mesmo se você tiver apenas uma instância.
fonte