Iniciando Tomcat no boot do Linux

1 resposta
S

Eu estou tentando colocar o Tomcat para iniciar no boot do Linux ( mais especificamente Debian ). O meu script de inicialização é esse:

#! /bin/sh
# /etc/init.d/tomcat
#

# Env vars
export CATALINA_HOME=/var/lib/tomcat
export _JAVA_OPTIONS="-Xms20m -Xmx64m -XX:MinHeapFreeRatio=20 -XX:MaxHeapFreeRatio=40 -XX:NewSize=10m -XX:MaxNewSize=10m -XX:SurvivorRatio=6 -XX:TargetSurvivorRatio=80 -XX:+CMSClassUnloadingEnabled -XX:+CMSClassUnloadingEnabled"


# Carry out specific functions when asked to by the system
case "$1" in
  start)
    echo "Starting Tomcat "
    export CATALINA_BASE=/var/lib/tomcat1
    su -p -s /bin/sh tomcat $CATALINA_HOME/bin/startup.sh
    export CATALINA_BASE=/var/lib/tomcat2
    su -p -s /bin/sh tomcat $CATALINA_HOME/bin/startup.sh
    export CATALINA_BASE=/var/lib/tomcat3
    su -p -s /bin/sh tomcat $CATALINA_HOME/bin/startup.sh
    export CATALINA_BASE=/var/lib/tomcat4
    su -p -s /bin/sh tomcat $CATALINA_HOME/bin/startup.sh
    ;;
  stop)
    echo "Stopping Tomcat"
    export CATALINA_BASE=/var/lib/tomcat1
    su -p -s /bin/sh tomcat \$CATALINA_HOME/bin/shutdown.sh
    export CATALINA_BASE=/var/lib/tomcat2
    su -p -s /bin/sh tomcat \$CATALINA_HOME/bin/shutdown.sh
    export CATALINA_BASE=/var/lib/tomcat3
    su -p -s /bin/sh tomcat \$CATALINA_HOME/bin/shutdown.sh
    export CATALINA_BASE=/var/lib/tomcat4
    su -p -s /bin/sh tomcat \$CATALINA_HOME/bin/shutdown.sh
    ;;
  *)
    echo "Usage: /etc/init.d/tomcat {start|stop}"
    exit 1
    ;;
esac

exit 0

E adicionei o script ao boot utilizando:

update-rc.d tomcat defaults 99

O problema é que ele não inicia de jeito nenhum e o catalina.out não mostra nada.

Por outro lado, se eu rodar /etc/init.d/tomcat start, ele inicia sem problema.

Alguma idéia do que pode estar acontecendo?

1 Resposta

davidbuzatto

Eu faço assim:

Em /etc/profile.d eu tenho um arquivo jamado java_jdk.sh onde eu crio e configuro as variáveis de ambiente

#!/bin/sh #arquivo java_jdk.sh JAVA_HOME=/usr/lib/jdk1.6.0_17; JDK_HOME=/usr/lib/jdk1.6.0_17; CLASSPATH=/usr/lib/jdk1.6.0_17/lib:.; PATH=$PATH:/usr/lib/jdk1.6.0_17/bin; export JAVA_HOME JDK_HOME CLASSPATH PATH;

No /etc/init.d/rc.local eu tenho o seguinte:

sudo -u tomcat '/bin/sh' /usr/local/apache-tomcat-6.0.18/bin/startup.sh

Onde /usr/local/apache-tomcat-6.0.18 vc precisa trocar para o caminho que seu tomcat está instalado
Eu executo o tomcat com o usuário tomcat, sendo que todo o diretório do tomcat (/usr/local/apache-tomcat-6.0.18 no meu caso) deve ter como dono o tomcat.

Se mesmo assim ainda não funcionar, tente colocar o conteúdo do meu java_jdk.sh dentro do catalina.sh do tomcat (antes dos comandos do catalinha.sh serem executados).

[]´s

Criado 23 de novembro de 2009
Ultima resposta 23 de nov. de 2009
Respostas 1
Participantes 2