Sugiro abrir bin/catalina.sh
em um editor de texto e começar a ler para baixo a partir desse ponto:
# -----------------------------------------------------------------------------
# Control Script for the CATALINA Server
#
# Environment Variable Prerequisites
#
# Do not set the variables in this script. Instead put them into a script
# setenv.sh in CATALINA_BASE/bin to keep your customizations separate.
bin/setenv.sh
não existe por padrão, mas é uma verdadeira jóia: quaisquer variáveis ou scriptlets que você colocar em tal arquivo serão originados por bin/catalina.sh
, que por sua vez é chamado sempre que bin/startup.sh
e bin/shutdown.sh
get invocado.
- Continue a ler para baixo a partir desse ponto e observe as diversas variáveis e o que elas fazem. Alguns deles já são familiares para você, como
JAVA_HOME
. Outros podem não ser, comoCATALINA_OPTS
, que deve ser preferível aJAVA_OPTS
, quando possível. - Examine cuidadosamente
bin/startup.sh
ebin/shutdown.sh
, procurando por customizações: nenhuma das variáveis explicadas na documentaçãobin/catalina.sh
deve ser definida. Administradores e desenvolvedores que não conhecem obin/setenv.sh
têm uma tendência a modificar os scripts de inicialização e desligamento diretamente, o que é uma prática ruim. Mova essas personalizações parabin/setenv.sh
para que você possa acompanhar melhor as diferenças entre os dois contêineres do Tomcat. - Use
JAVA_HOME
para especificar o caminho para as diferentes instalações de Java. O Tomcat executará$JAVA_HOME/bin/java
, não a versão do java que está na sua variávelPATH
. (a menos queJRE_HOME
exista, a documentação que eu instrui você a ler explica a diferença) Se cada Tomcat precisar usar uma versão diferente de Java, eles deverão ter%% caminhosJAVA_HOME
diferentes. Se eles devem usar a mesma versão do Java, então a variável deve ser a mesma para ambos. - Ajuste
conf/server.xml
e altere as portas que o Tomcat está escutando. Todas as instâncias da palavraport
que não estão dentro de um bloco de comentários (<!-- -->
) devem ser ajustadas ou haverá conflitos de porta. - Se você tiver uma exigência de que esses dois Tomcats estejam atrás de uma única porta, você precisará de um balanceador de carga na frente deles ou de um servidor da Web que faça o proxy do tráfego. O servidor da Web pode ser executado na mesma máquina, você faria proxy para localhost (
127.0.0.1
) nesse caso. Com base no URI solicitado, faça com que o balanceador de carga ou o servidor da Web direcione o tráfego para o Tomcat apropriado.