
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/tomcat
contiene 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 start
directamente 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