Jak uruchamia się Apache Tomcat: skrypty startowe, bootstrap i Catalina
Data publikacji:
Aktualizacja:
Artykuły > Jak uruchamia się Apache Tomcat: skrypty startowe, bootstrap i Catalina
Stan na rok 2026 i bezpieczne użytkowanie
Wniosek: startup.sh lub startup.bat deleguje do catalina, która składa zmienne środowiskowe, ścieżki klas, opcje JVM i właściwości systemu przed uruchomieniem klasy Bootstrap Tomcat. Menedżer usług może wywołać to samo środowisko wykonawcze za pośrednictwem innego opakowania.
Czego się nauczysz
- Jak
CATALINA_HOME,CATALINA_BASE,JAVA_HOMEiJRE_HOMEwpływają na uruchamianie. - Jak argumenty powłoki lub wsadowe stają się poleceniem Java, a następnie operacją cyklu życia Cataliny.
- Gdzie sprawdzić końcowe polecenie bez kopiowania przestarzałych flag JVM.
Dla kogo: Operatorzy rozwiązujący problemy z opakowaniami startowymi i programiści uczący się wewnętrznych rozwiązań Tomcat.
Aktualizacja na 2026 rok: Poniższe polecenie śledzenia pochodzi z Tomcat 9.0.27 w Javie 11. Użyj go, aby zrozumieć przepływ, a następnie sprawdź skrypty dostarczone z obsługiwaną wersją Tomcat; wewnętrzne flagi i kompatybilne wersje Java ulegają zmianie.
Uwaga dotycząca bezpieczeństwa: polecenia i przykłady konfiguracji z pierwotnego artykułu nie zostały ponownie uruchomione we współczesnym środowisku produkcyjnym. Przed użyciem sprawdź wspierane wersje, kopie zapasowe, kontrolę dostępu i procedurę wycofania w oddzielnym środowisku testowym.
Oficjalne źródła pierwotne
Przegląd
Artykuł przedstawia kolejność uruchamiania Tomcata. Administrator zwykle wywołuje startup.bat lub startup.sh, lecz zanim serwer będzie gotowy, skrypty przygotowują kilka elementów środowiska. Historyczny przykład korzysta z Tomcata 9.0.27.
Przewodnik po pobieraniu Tomcata pokazuje, gdzie znajdowało się to archiwum. Do rzeczywistej instalacji wybierz nadal wspieraną wersję.
Spis treści
1. Jak uruchamia się Tomcat
W tym przykładzie dla systemu Windows, Tomcata 9.0.27 i OpenJDK 11 skrypty ostatecznie składają i wykonują następujące polecenie 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
Polecenie buduje classpath i właściwości systemowe, a następnie wywołuje metodę main klasy org.apache.catalina.startup.Bootstrap z argumentem start.
Opcje programu uruchamiającego opisuje przewodnik po właściwościach systemowych Java przekazywanych przez -D.
Aby zrozumieć, jak powstaje ten wiersz, przeanalizujmy startup.bat.
1-1. Zawartość pliku startup.bat
startup.bat sprawdza środowisko uruchomieniowe i wywołuje catalina.bat z argumentem start. Większość polecenia powstaje właśnie w catalina.bat.
Skrypty ustalają:
- program wykonywalny Java;
- katalogi home i base Tomcata;
- classpath i klasę główną;
- właściwości systemowe i pozostałe opcje JVM.
Rzeczywiste polecenie zależy od wersji Tomcata i Javy, zmiennych środowiskowych oraz konfiguracji usługi.
2. Podsumowanie
Skrypt startowy przygotowuje środowisko Tomcata, a następnie uruchamia Javę. W tej wersji punktem wejścia jest org.apache.catalina.startup.Bootstrap. Podczas diagnozowania awarii sprawdź skrypty zainstalowanej wersji i rzeczywiste środowisko zamiast kopiować historyczne polecenie.