Как запускается Apache Tomcat: скрипты запуска, bootstrap и Catalina
Дата публикации:
Обновлено:
Статьи > Как запускается Apache Tomcat: скрипты запуска, bootstrap и Catalina
Статус 2026 года и безопасное использование
Вывод: startup.sh или startup.bat делегирует catalina, который собирает переменные среды, пути к классам, параметры JVM и свойства системы перед запуском класса Tomcat Bootstrap. Менеджер сервисов может вызывать ту же среду выполнения через другую оболочку.
Чему вы научитесь
- Как
CATALINA_HOME,CATALINA_BASE,JAVA_HOMEиJRE_HOMEвлияют на запуск. - Как аргументы оболочки или пакета становятся командой Java, а затем операцией жизненного цикла Catalina.
- Где проверить последнюю команду, не копируя устаревшие флаги JVM.
Для кого: операторы, устраняющие неполадки в оболочках запуска, и разработчики, изучающие внутреннее устройство Tomcat.
Актуальность на 2026 год. Приведенная ниже трассировка команды взята из Tomcat 9.0.27 на Java 11. Используйте ее, чтобы понять ход выполнения, а затем проверьте сценарии, поставляемые с поддерживаемой версией Tomcat; внутренние флаги и совместимые версии Java меняются.
Примечание по безопасности. Команды и примеры конфигурации из исходной статьи не проверялись повторно в современной производственной среде. Перед применением проверьте поддерживаемые версии, резервные копии, контроль доступа и процедуру отката в отдельной тестовой среде.
Официальные первоисточники
Обзор
В статье прослеживается порядок запуска Tomcat. Обычно администратор вызывает startup.bat или startup.sh, однако до готовности сервера эти скрипты подготавливают несколько компонентов окружения. В историческом примере используется Tomcat 9.0.27.
Руководство по загрузке Tomcat показывает, где находился этот архив. Для реальной установки выбирайте поддерживаемую версию.
Оглавление
1. Как запускается Tomcat
В этом примере для Windows, Tomcat 9.0.27 и OpenJDK 11 скрипты в итоге формируют и выполняют следующую команду Java:
"C:\Program Files (x86)\Java\jdk-11\bin\java.exe" -Djava.util.logging.config.file="C:\apache-tomcat-9.0.27\conf\logging.properties" -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dignore.endorsed.dirs="" -classpath "C:\apache-tomcat-9.0.27\bin\bootstrap.jar;C:\apache-tomcat-9.0.27\bin\tomcat-juli.jar" -Dcatalina.base="C:\apache-tomcat-9.0.27" -Dcatalina.home="C:\apache-tomcat-9.0.27" -Djava.io.tmpdir="C:\apache-tomcat-9.0.27\temp" org.apache.catalina.startup.Bootstrap start
Команда формирует classpath и системные свойства, затем вызывает метод main класса org.apache.catalina.startup.Bootstrap с аргументом start.
Параметры программы запуска описаны в руководстве по системным свойствам Java, задаваемым через -D.
Чтобы понять, как получается эта строка, рассмотрим startup.bat.
1-1. Содержимое файла startup.bat
startup.bat проверяет окружение запуска и вызывает catalina.bat с аргументом start. Основная часть команды формируется в catalina.bat.
Скрипты определяют:
- исполняемый файл Java;
- каталоги home и base Tomcat;
- classpath и главный класс;
- системные свойства и остальные параметры JVM.
Точная команда зависит от версий Tomcat и Java, переменных окружения и конфигурации службы.
2. Итоги
Стартовый скрипт подготавливает окружение Tomcat, а затем запускает Java. В этой версии точкой входа служит org.apache.catalina.startup.Bootstrap. При диагностике сбоя проверяйте скрипты установленной версии и фактическое окружение, а не копируйте историческую команду.