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_HOME og JRE_HOME på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.

Hent Tomcat

Indholdsfortegnelse

  1. Hvordan Tomcat starter op.
  2. Opsummering

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.