Установка Tomcat#

Для установки Tomcat выполните следующую команду:

dnf install tomcat

Запуск Tomcat в качестве демона#

Tomcat запускается в качестве демона с использованием инструмента jsvc. Архивы с исходным кодом jsvc включены в бинарные файлы Tomcat, и их необходимо скомпилировать. Для сборки требуется ANSI компилятор C (например, GCC), GNU Autoconf и JDK.

Предварительные условия:

  • Установите переменную окружения JAVA_HOME.

  • Убедитесь, что переменная окружения JAVA_HOME указывает на базовый путь к JDK.

  • Опционально: при вызове скрипта ./configure путь к JDK укажите с помощью параметра --with-java.

  • Для сборки jsvc выполните следующие команды:

    cd $CATALINA_HOME/bin
    tar xvfz commons-daemon-native.tar.gz
    cd commons-daemon-1.1.x-native-src/unix
    ./configure
    make
    cp jsvc ../..
    cd ../..
    

    Примечание

    Предполагается, что используется GNU TAR, а переменная окружения CATALINA_HOME указывает на базовый путь к установке Tomcat. После выполнения данных команд скомпилированный бинарный файл jsvc будет находиться в папке $CATALINA_HOME/bin.

Для запуска Tomcat в качестве демона выполните следующие команды:

CATALINA_BASE=$CATALINA_HOME
cd $CATALINA_HOME
./bin/jsvc \
    -classpath $CATALINA_HOME/bin/bootstrap.jar:$CATALINA_HOME/bin/tomcat-juli.jar \
    -outfile $CATALINA_BASE/logs/catalina.out \
    -errfile $CATALINA_BASE/logs/catalina.err \
    -Dcatalina.home=$CATALINA_HOME \
    -Dcatalina.base=$CATALINA_BASE \
    -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager \
    -Djava.util.logging.config.file=$CATALINA_BASE/conf/logging.properties \
    org.apache.catalina.startup.Bootstrap

При запуске на Java 9 или выше необходимо дополнительно указать следующие параметры, чтобы избежать предупреждений при завершении работы:

  • --add-opens=java.base/java.lang=ALL-UNNAMED \;

  • --add-opens=java.base/java.io=ALL-UNNAMED \;

  • --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED \.

Дополнительные параметры jsvc#

Список дополнительных параметров:

  • -jvm server – использование серверной JVM. На некоторых системах (например, OSX) может потребоваться указать параметр -jvm server, если JVM по умолчанию использует клиентскую JVM.

  • -user – запуск от имени другого пользователя. Параметр -user позволяет переключиться на другого пользователя после завершения инициализации демона. Если Tomcat запускается от имени пользователя с административными полномочиями, необходимо отключить проверку org.apache.catalina.security.SecurityListener.

  • -debug – отладка. Параметр -debug полезен для отладки проблем при запуске jsvc.

Автозапуск Tomcat при загрузке системы#

Файл $CATALINA_HOME/bin/daemon.sh можно использовать как шаблон для автоматического запуска Tomcat при загрузке системы через /etc/init.d с использованием jsvc.