Cum pornește Apache Tomcat: scripturi de inițializare, bootstrap și Catalina
Data publicării:
Actualizat:
Articole tehnice > Cum pornește Apache Tomcat: scripturi de inițializare, bootstrap și Catalina
Contextul din 2026 și utilizarea în siguranță
Concluzie: startup.sh sau startup.bat delegați la catalina, care adună variabile de mediu, căi de clasă, opțiuni JVM și proprietăți de sistem înainte de a lansa clasa Bootstrap a Tomcat. Un manager de servicii poate invoca același timp de execuție printr-un wrapper diferit.
Ce vei învăța
- Cum afectează
CATALINA_HOME,CATALINA_BASE,JAVA_HOMEșiJRE_HOMEpornirea. - Cum argumentele shell sau batch devin o comandă Java și apoi o operație de ciclu de viață Catalina.
- Unde să inspectați comanda finală fără a copia indicatoarele JVM învechite.
Cui se adresează: operatorii care depanează programele de pornire și dezvoltatorii care învață elementele interne Tomcat.
Contextul din 2026: Urmărirea comenzii de mai jos este din Tomcat 9.0.27 pe Java 11. Folosiți-o pentru a înțelege fluxul, apoi inspectați scripturile livrate cu versiunea Tomcat acceptată; steaguri interne și versiunile Java compatibile se modifică.
Notă de siguranță: comenzile și exemplele de configurare din articolul original nu au fost reluate într-un mediu de producție actual. Verificați versiunile acceptate, copiile de rezervă, controalele de acces și pașii de retragere într-un mediu de testare separat înainte de a le aplica.
Surse oficiale principale
Prezentare generală
Vom vă explic cum pornește Tomcat. În mod normal, porniți Tomcat dintr-un fișier batch sau un fișier shell, dar dorim să vedem ce face de fapt fișierul batch sau fișierul shell. Versiunea de Tomcat care trebuie verificată este "9.0.27".
Modul de descărcare a versiunii "9.0.27" a Tomcat este, de asemenea, explicat mai jos, așa că vă rugăm să consultați această explicație dacă aveți nevoie de ea.
Cuprins
1. Cum pornește Tomcat.
În concluzie, Tomcat este pornit prin următoarele comenzi Java. (Se presupune că versiunea Tomcat este 9.0.27, iar versiunea Java este 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
În esență, Tomcat este pornit în cele din urmă prin executarea comenzii Java de un singur rând de mai sus și prin apelarea clasei principale (public static void main(String[] args))).
Notă: Dacă nu știți ce face partea "-D~", vă rugăm să consultați următoarele.
Ce este opțiunea D (-D) specificată la pornirea Java?
În cele din urmă, este executată o singură linie de comandă, dar doriți să verificați ce face startup.bat.
1-1. Conținutul fișierului startup.bat
Startup.bat verifică pur și simplu setările de mediu pentru a porni Tomcat, apoi catalina.bat este executat cu argumentul start. Procesarea principală efectivă este descrisă în catalina.bat.
Deci, ceea ce se face în catalina.bat este asamblarea comenzii finale care urmează să fie executată, așa cum am descris mai devreme. În mod specific, comenzile sunt asamblate prin căutarea următoarelor elemente
- Directorul Java care urmează să fie activat
- Java classpath, clasa principală.
- Opțiuni Java () de genul
După căutarea celor de mai sus, rezultatul final este o comandă Java de o singură linie.
2. rezumat
Tomcat este pornit dintr-un fișier batch, cum ar fi startup.bat, dar, în cele din urmă, Tomcat este pornit de o singură linie de comandă Java. Această comandă apelează clasa main (public static void main(String[] args)) și începe procesul.
De altfel, clasa principală pentru Tomcat este localizată în "org.apache.catalina.startup.Bootstrap".
Sperăm că explicația a fost utilă.