Inicialização de instâncias do Tomcat

1

Qual pode ser a melhor maneira de iniciar as instâncias do tomcat automaticamente? Eu tenho vários vhost configurados para usar o tomcat em várias portas. Tenho certeza de que alguém se deparou com essa tarefa administrativa desafiadora. Você acha que o rc.local serve? Eu não quero nuvem esse arquivo com tantos comandos, eu quero um script uma vez fora se for aplicável.

    
por Rungano 22.06.2009 / 16:35

5 respostas

2

A melhor maneira sob o Linux é com um script SysV Init padrão. É assim que os daemons devem ser iniciados sob o linux, então esse é o primeiro lugar onde a maioria dos administradores irá parecer.

Padrões são bons assim. ;)

Muitas distribuições vêm com um esqueleto de script de inicialização que você pode modificar para se adequar e algumas são fornecidas com uma biblioteca de funções de shell que você pode fornecer para ajudá-lo a escrever um script de inicialização. no redhat há /etc/init.d/functions .

Você pode usá-lo apenas para chamar o script de inicialização padrão fornecido com o Tomcat. O Tomcat pode até vir com um script de inicialização do SysV, não me lembro, já faz muito tempo desde que eu instalei o tomcat vanilla.

Faça também o seu script de inicialização chkconfig-able!

    
por 22.06.2009 / 18:22
0

Eu costumo usar o Condor para gerenciar meus 'trabalhos' - ele permite que você distribua seu aplicativo dinamicamente ou estaticamente se você deseja. Então você deve ser capaz de usar qualquer mecanismo de início automático sem ter sua configuração flutuando para todos verem.

    
por 22.06.2009 / 17:01
0

Por que não executá-los todos na mesma instância do tomcat? O Tomcat pode escutar em várias portas e servir diferentes conjuntos de aplicativos da web a partir de diferentes diretórios do webapp. Investigue o mecanismo < engine > elemento na documentação server.xml do tomcat.

    
por 22.06.2009 / 17:41
0

Eu recomendaria algo como daemontools ou monit . SysV ou Debian initscripts são bons para iniciar o processo na inicialização, mas eles não reiniciam sua instância automaticamente se ela for interrompida.

Para daemontools , você precisará criar um script run que defina o usuário e as variáveis de ambiente corretas e, em seguida, execute $TOMCAT/bin/catalina.sh run .

Para monit , você precisará saber a localização do arquivo pid do tomcat e, em seguida, usar uma configuração semelhante a esta:

check process 'tomcat' with pidfile /path/to/your/tomcat/tmp/tomcat.pid
   start command = '$TOMCAT/bin/catalina.sh start'
   stop  command = '$TOMCAT/bin/catalina.sh stop' 
    
por 23.06.2009 / 12:11
0

Eu escrevi um script de init personalizado que assume um diretório / var / tomcat contém subdiretórios, cada um deles é a configuração de uma instância do Tomcat. Ele itera sobre cada subdiretório, verifica se conf / server.xml existe e, se assim for, configura CATALINA_BASE para esse subdiretório e executa seu script bin / catalina.sh com o argumento apropriado (stop | start).

    
por 06.08.2009 / 19:02