Sådan starter Apache Tomcat: startup, Bootstrap og Catalina
Udgivet:
Opdateret:
Artikler › Sådan starter Apache Tomcat: startup, Bootstrap og Catalina
Status i 2026 og sikker brug
Konklusion: startup.sh eller startup.bat uddelegerer til catalina, som samler miljøvariabler, klassestier, JVM-indstillinger og systemegenskaber, før Tomcats Bootstrap-klasse startes. En servicemanager kan kalde den samme kørselstid gennem en anden indpakning.
Det lærer du
- Hvordan
CATALINA_HOME,CATALINA_BASE,JAVA_HOMEogJRE_HOMEpåvirker opstart. - Hvordan shell- eller batch-argumenter bliver en Java-kommando og derefter en Catalina-livscyklusoperation.
- Hvor skal den endelige kommando inspiceres uden at kopiere forældede JVM-flag.
Målgruppe: Operatører, der fejlfinder opstartsindpakninger og udviklere, der lærer Tomcat-internal.
Aktuel status i 2026: Kommandosporet nedenfor er fra Tomcat 9.0.27 på Java 11. Brug det til at forstå flowet, og inspicér derefter de scripts, der blev leveret med din understøttede Tomcat-udgivelse; interne flag og kompatible Java-versioner ændres.
Sikkerhedsbemærkning: Kommandoerne og konfigurationseksemplerne i den oprindelige artikel er ikke kørt igen i et aktuelt produktionsmiljø. Kontrollér understøttede versioner, tag backup, og forbered en rollback i et separat testmiljø før ændringerne anvendes.
Officielle kilder
Oversigt
Nedenfor forklares, hvordan Tomcat starter op. Normalt starter du Tomcat fra en batchfil eller en skalfil, men vi vil gerne se, hvad batchfilen eller skalfilen faktisk gør. Den version af Tomcat, der skal kontrolleres, er "9.0.27".
Hvordan du downloader version "9.0.27" af Tomcat er også forklaret nedenfor, så du bedes henvise til det, hvis du har brug for det.
Indholdsfortegnelse
1. Hvordan Tomcat starter op.
Til sidst kan Tomcat startes ved hjælp af følgende Java-kommandoer. (Det antages, at Tomcat-versionen er 9.0.27, og at Java-versionen er OpenJDK11).
"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
Tomcat startes i det væsentlige ved at udføre ovenstående Java-kommando med én linje og kalde hovedklassen (public static void main(String[] args))).
Bemærk:Hvis du ikke ved, hvad "-D~"-delen gør, kan du læse følgende.
Hvad er D-indstillingen (-D), der angives ved opstart af Java?
Til sidst udføres en enkelt kommandolinje, men du ønsker at kontrollere, hvad startup.bat gør.
1-1. Indholdet af startup.bat
startup.bat kontrollerer blot miljøindstillingerne for at starte Tomcat, hvorefter catalina.bat udføres med argumentet start. Den egentlige hovedbehandling er beskrevet i catalina.bat.
Så det, der gøres i catalina.bat, er at samle den endelige kommando, der skal udføres, som beskrevet tidligere. Konkret sammensættes kommandoerne ved at lede efter følgende
- Java-mappe, der skal aktiveres
- Java classpath, hovedklasse.
- Java-indstillinger, som Tomcat skal startes med
Efter at have søgt efter ovenstående er det endelige resultat en Java-kommando på én linje.
2. resumé
Tomcat startes fra en batchfil som f.eks. startup.bat, men i sidste ende startes Tomcat af en enkelt linje Java-kommando. Denne kommando kalder hovedklassen (public static void main(String[] args))) og starter processen.
I øvrigt ligger hovedklassen for Tomcat i "org.apache.catalina.startup.Bootstrap".
Det opsummerer de vigtigste trin og begrænsninger.