Wie starte ich Tomcat automatisch?

Wie starte ich Tomcat automatisch?

Ich versuche, Tomcat automatisch zu starten, aber es gelingt mir nicht. (Es ist Tomcat 6.0.16, der auf Fedora 8 läuft und auf Amazon ami-11ca2d78 basiert.) Ich habe also nach den Standardanweisungen /etc/init.d/tomcatFolgendes erstellt:

 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

Und ich chmod 755 es. Dann erstelle ich Softlinks:

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

Aber beim Neustart schlägt es fehl und die Protokolle zeigen diese Ausnahme:

java.lang.IllegalArgumentException: Die Dokumentbasis /env/tomcat/webapps/QCServer existiert nicht oder ist kein lesbares Verzeichnis

Aber wenn ich es /etc/init.d/tomcat startdirekt von der Kommandozeile aus ausführe, funktioniert alles einwandfrei. Und dies ist ein lesbares Verzeichnis mit r+x-Berechtigungen für alle. Was in aller Welt mache ich also falsch? Vielen Dank für jede Hilfe!

Klimaanlage

Antwort1

Wenn es lesbar ist, liegt das Problem darin, dass das Verzeichnis nicht gefunden werden kann. Als Sie Tomcat manuell gestartet haben, waren Sie vermutlich als „Root“-Benutzer angemeldet. Der Benutzer hat CATALINA_HOME so eingerichtet, dass es auf den Installationsort von Tomcat verweist. Ich denke, das Problem liegt darin, dass Tomcat das Anwendungsbasisverzeichnis nicht finden kann.

Verwenden Sie in der Datei server.xml, in der Sie das Basisverzeichnis für „QCServe“ angegeben haben, den vollständigen Pfad anstelle des relativen Pfads. Wenn Ihre Anwendung in /opt/apps/tomcat/webapps/QCServe installiert ist, geben Sie diesen absoluten Pfad dort ein.

-N

Antwort2

Welchen Runlevel verwenden Sie?

Erstellen Sie den Link in /etc/rc3.d

Antwort3

Speichern Sie es als /etc/init.d/tomcat, chkconfig add tomcat. Bearbeiten Sie die Werte oben nach Bedarf, um sie an Ihre Installation anzupassen; die angezeigten Werte sind nur ein Beispiel (insbesondere JAVA_OPTS-Speichereinstellungen).

#!/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

verwandte Informationen