Apache Tomcat init.d script

Рубрика: Development, Java | 28 April 2009, 15:33 | Vadim Voituk

Продолжая серию заметок “Из программиста в руководители админы” :), опять же себе на заметку пишем init-скрипт для корректного запуска/перезапуска Apache Tomcat под Linux.

Создаем файл /etc/init.d/tomcat такого содержания:

# Tomcat auto-start
#
# chkconfig: - 90 15
# description: Jakarta Tomcat Java Servlets and JSP server

export JAVA_HOME=/usr/java/default
export JRE_HOME=/usr/java/latest
export CATALINA_HOME=/home/vadim/tomcat

case $1 in
start)
  sh $CATALINA_HOME/bin/startup.sh
  ;;
stop)
  sh $CATALINA_HOME/bin/shutdown.sh
  ;;
restart)
  sh $CATALINA_HOME/bin/shutdown.sh
  sh $CATALINA_HOME/bin/startup.sh
  ;;
*)
  echo "Usage: $0  {start|stop|restart}"
  exit 1
  ;;
esac
exit 0

После этого выполняем:
chmod +x /etc/init.d/tomcat
chkconfig tomcat on

Аналогичный init.d-скрипт для запуска nginx

Комментариев: 12

12 Responses to “Apache Tomcat init.d script”

Комментарии:

  1. Smudgy

    М-м-м, а чем родной скрипт не устраивает?

  2. Vadim Voituk

    Родной – это какой?

  3. Smudgy

    Ну если я делаю
    > apt-get install tomcat
    То у меня есть /etc/init.d/tomcat6 файл. Меняешь если нужно CATALINA_HOME.

  4. Vadim Voituk

    Ну я не настолько ленивый, и ставлю томкат с архива :)
    Тем более в репозиториях красных-шапок томкат раньше был древний 5.5.

  5. Smudgy

    Debian репозитории лучше (читай Ubuntu)

  6. Николай

    А что в 6.х Tomcat-е такого нового, что Вас 5.5 не устраивает?

  7. Vadim Voituk

    Николай,
    Ну как минимум в Tomcat 6 есть нормальный NIO-коннектор.

  8. corsair

    Що тільки люди не роблять аби не йти на сторінку томката і не почитати що там нового
    Servlet/JSP Spec Apache Tomcat version
    2.5/2.1 6.0.18
    2.4/2.0 5.5.27

  9. roman

    А это мой, для glassfish.

    #! /bin/sh
    
    GLASSFISHPATH=/usr/local/glassfish/bin
    
    case "$1" in
    start)
      echo "starting glassfish from $GLASSFISHPATH"
      su roman -c "$GLASSFISHPATH/asadmin start-domain domain1"
      ;;
    restart)
      $0 stop
      $0 start
      ;;
    stop)
      echo "stopping glassfish from $GLASSFISHPATH"
      su roman -c "$GLASSFISHPATH/asadmin stop-domain domain1"
      ;;
    *)
      echo $"usage: $0 {start|stop|restart}"
      exit 3
    esac
  10. Vadim Voituk

    @roman,
    Не хватает только строки параметров для chkconfig

  11. Slava

    Ну если идти до конца, то stop скрипт ребята из springsource(это нынче основные разработчики tomcat) уже как несколько лет не рекомендуют использовать. Ну по крайней мере для production серверов Т.е.: в server.xml имеем:

    Таким образом отключается возможность использования shutdown.sh и catalina.sh stop, но самое важное – сам shutdown порт блокируется, т.е. даже при неправильной конфигурации сервера никто ваш tomcat не отключит.
    Отключать его при такой конфигурации надо командой kill

  12. Nikolay Balandin

    Для шапки еще нужно в самом простом варианте:


    start)

    touch /var/lock/subsys/tomcat
    ;;
    stop)

    rm -f /var/lock/subsys/tomcat
    ;;
    *)

Leave a Reply