web-dev-qa-db-ja.com

Linuxでの起動時にApacheTomcatを起動する

Apache Tomcatを起動時に自動的に実行する方法があるかどうか知りたいですか?毎回起動スクリプト(Apache Tomcatディレクトリで提供)を実行したくないので、作業を簡素化したいです。 Linuxマシンが再起動されています。誰かが助けてくれることを願っています。ありがとう。

2
newbie.my

起動スクリプトを起動シーケンスに追加するだけです。
(私が思うに)最も簡単な方法は、/ etc/init.dに起動スクリプトを作成し、それらを必要な実行レベルに追加することです。これが私が使用したスクリプトです(後でスクリプトはTomcatと呼ばれると思います)。

#!/bin/sh
#
# Tomcat7     This Shell script takes care of starting and stopping Tomcat
#
# chkconfig: - 80 20
#
### BEGIN INIT INFO
# Provides: Tomcat7
# Required-Start: $network $syslog
# Required-Stop: $network $syslog
# Default-Start:
# Default-Stop:
# Description: Release implementation for Servlet 2.5 and JSP 2.1
# Short-Description: start and stop Tomcat
### END INIT INFO

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
START_DAEMON=/opt/Apache-Tomcat-6.0.33/bin/startup.sh
STOP_DAEMON=/opt/Apache-Tomcat-6.0.33/bin/shutdown.sh

NAME=Tomcat
DESC=Tomcat

case "$1" in
    start)
        Tomcat_pid=`ps -ef | grep Apache | grep Tomcat | grep Java | egrep -v grep | awk '{print $2}'`
        if [ -n "$Tomcat_pid" ]; then
          echo "Tomcat is running."
          exit 1;
        fi
        echo -n "Starting $DESC:\n  $START_DAEMON \n"
        $START_DAEMON 
        ;;

    stop)
        Tomcat_pid=`ps -ef | grep Apache | grep Tomcat | grep Java | egrep -v grep | awk '{print $2}'`
        if [ -z "$Tomcat_pid" ]; then
          echo "Tomcat is not running."
          exit 1;
        fi
        echo -n "Stopping $DESC:\n $STOP_DAEMON \n "
        $STOP_DAEMON
        ;;

    restart|force-reload)
        Tomcat_pid=`ps -ef | grep Apache | grep Tomcat | grep Java | egrep -v grep | awk '{print $2}'`
        if [ -n "$Tomcat_pid" ]; then
          echo -n "Restarting $DESC: \n $STOP_DAEMON \n"
              $STOP_DAEMON
              sleep 5
        fi
        echo -n "starting $DESC: \n $START_DAEMON \n"
        $START_DAEMON
        echo "Starting, please wait for about 50 seconds."
        sleep 20
        ;;

    *)
        echo "Usage: $NAME {start|stop|restart}" >&2
        exit 1
        ;;
esac

exit 0

ブートに追加するかどうかは、ディストリビューションによって異なります。例:デフォルトの実行レベルのUbuntuはSudo update-rc.d Tomcat defaultsのようになります
RedHatはchkconfig --add Tomcat、次にchkconfig Tomcat onのようになります。

2
grekier