Я установил Tomcat 7 на Ubuntu 12.04 LTS, который работает на экземпляре Amzon EC2. Теперь я хочу, чтобы tomcat автоматически перезапускался при перезагрузке системы.
Я читал этот блог которые предлагают добавить приведенный ниже скрипт к /etc/init.d/tomcat7:
Создайте сценарий инициализации в /etc /init.d / tomcat7 с содержимым, как показано ниже (ваш сценарий тоже должен работать, но я думаю, что этот более соответствует стандартам).
Таким образом, Tomcat запустится только после настройки сетевых интерфейсов.
Содержимое скрипта инициализации:
#!/bin/bash### BEGIN INIT INFO# Provides: tomcat7# Required-Start: $network# Required-Stop: $network# Default-Start: 2 3 4 5# Default-Stop: 0 1 6# Short-Description: Start/Stop Tomcat server### END INIT INFOPATH=/sbin:/bin:/usr/sbin:/usr/binstart() { sh /usr/share/tomcat7/bin/startup.sh}stop() { sh /usr/share/tomcat7/bin/shutdown.sh}case $1 in start|stop) $1;; restart) stop; start;; *) echo "Run as $0 <start|stop|restart>"; exit 1;;esac
Измените его разрешения и автоматически добавьте правильные символические ссылки:
И с этого момента он будет автоматически запускаться и выключаться при вводе соответствующих уровней выполнения. Вы также можете управлять им с помощью service tomcat7 <stop|start|restart>
#!/bin/sh -e## rc.local## This script is executed at the end of each multiuser runlevel.# Make sure that the script will "exit 0" on success or any other# value on error.## In order to enable or disable this script just change the execution# bits.## By default this script does nothing.sleep 10/usr/share/tomcat7/bin/startup.sh
start() {
pid=$(tomcat_pid)
если [ -n “$pid” ]
затем
повторите “Tomcat уже запущен (pid: $pid)”.
ещё
# Запускаем кота
echo “Запуск tomcat”
/bin/sh $TOMCAT_HOME/bin/startup.sh
fi
возвращает 0
}
стоп() {
pid=$(tomcat_pid)
если [ -n “$pid” ]
затем
повторите “Stoping Tomcat”.
/bin/sh $TOMCAT_HOME/bin/shutdown.sh
пусть kwait=$SHUTDOWN_WAIT
количество=0;
до тех пор, пока [ `ps -p $pid | grep -c $pid` = '0' ] || [ $ количество -gt $kwait ]
выполните
echo -n -e “\ n ожидание завершения процессов”;
сон 1
пусть count=$count+1;
сделано
if [ $count -gt $kwait ]; затем
echo -n -e “\nkilling процессы, которые не остановились после $SHUTDOWN_WAIT секунд”
убийство -9 $pid
echo " \nпроцесс убит вручную"
что еще
echo "Tomcat не запущен"
fi
возвращает 0
}
pid=$(tomcat_pid)
если [ -n “$pid” ]
затем
повторите “Tomcat запущен с pid: $pid”.
остановись
еще
echo “Tomcat не запущен”
запуск
fi
выход 0
apache tomcat не отправляет с ним никаких скриптов инициализации.
Установите предварительно упакованную версию, поддерживаемую Ubuntu, из диспетчера пакетов Ubuntu. Эта версия поставляется с собственным сценарием инициализации.
Следуйте инструкциям в блоге, на который вы ссылались, которые предоставляют вам сценарий инициализации kickstart.