¿Cómo hago para que Tomcat se inicie automáticamente?

¿Cómo hago para que Tomcat se inicie automáticamente?

Estoy intentando que Tomcat se inicie automáticamente y estoy fallando estrepitosamente. (Es Tomcat 6.0.16 ejecutándose en Fedora 8, basado en Amazon ami-11ca2d78). Entonces, siguiendo las instrucciones estándar, lo he creado y /etc/init.d/tomcatcontiene esto:

 export JRE_HOME=/env/jdk1.6.0_07/jre/
 case $1 in
 start)
        sh /env/tomcat/bin/startup.sh
        ;;
 stop)
        sh /env/tomcat/bin/shutdown.sh
        ;;
restart)
        sh /env/tomcat/bin/shutdown.sh
        sh /env/tomcat/bin/startup.sh
         ;;
esac
exit 0

Y lo modifiqué 755. Luego creo enlaces suaves:

ln -s /etc/init.d/tomcat /etc/rc1.d/K99tomcat
ln -s /etc/init.d/tomcat /etc/rc2.d/S99tomcat

Pero cuando reinicio falla y los registros muestran esta excepción:

java.lang.IllegalArgumentException: la base de documentos /env/tomcat/webapps/QCServer no existe o no es un directorio legible

Pero si lo ejecuto /etc/init.d/tomcat startdirectamente desde la línea de comando, todo funciona bien. Y este es un directorio legible, con privilegios r+x para todos. Entonces, ¿qué estoy haciendo mal? ¡Muchas gracias por la ayuda!

C.A.

Respuesta1

Si es legible, entonces el problema es que no puede encontrar el directorio. Supongo que cuando iniciaste Tomcat a mano, iniciaste sesión como usuario 'root'. El usuario tiene CATALINA_HOME configurado para señalar dónde está instalado Tomcat. Creo que el problema es que Tomcat no puede encontrar el directorio base de la aplicación.

En el archivo server.xml, donde especificó el directorio base para 'QCServe', utilice la ruta completa en lugar de la ruta relativa. Si su aplicación está instalada en /opt/apps/tomcat/webapps/QCServe, coloque esa ruta absoluta allí.

-NORTE

Respuesta2

¿Qué nivel de ejecución estás ejecutando?

Crea el enlace en /etc/rc3.d

Respuesta3

Guarde como /etc/init.d/tomcat, chkconfig agregue tomcat. Edite los valores en la parte superior según sea necesario para adaptarlos a su instalación; Los valores presentados son sólo un ejemplo (especialmente la configuración de memoria JAVA_OPTS).

#!/bin/sh
#
# Startup script for Tomcat
#
# chkconfig: 345 82 20
# description: Tomcat is a servlet runner

JAVA_HOME=/usr/local/java
TOMCAT_HOME=/usr/local/tomcat
XMFILE=$TOMCAT_HOME/conf/server.xml
JAVA_OPTS="-server -Xms1536m -Xmx1536m -Xmn384m -XX:+UseParallelGC"
CATALINA_OPTS=""
export JAVA_HOME TOMCAT_HOME JAVA_OPTS CATALINA_OPTS

# See how we were called.
case "$1" in
  start)
    cd $TOMCAT_HOME
    ./bin/startup.sh -config $XMFILE
    ;;
  stop)
    cd $TOMCAT_HOME
    ./bin/shutdown.sh -config $XMFILE
    ;;
  restart)
    $0 stop
    sleep 3
    $0 start
    ;;
  *)
    echo "Usage: $0 {start|stop|restart}"
    exit 1
esac

exit 0

información relacionada