Πώς ξεκινά ο Apache Tomcat: σενάρια εκκίνησης, bootstrap και Catalina


Δημοσιεύτηκε:

Ενημερώθηκε:


Άρθρα › Πώς ξεκινά ο Apache Tomcat: σενάρια εκκίνησης, bootstrap και Catalina

Κατάσταση το 2026 και ασφαλής χρήση

Συμπέρασμα: Το startup.sh ή το startup.bat εκχωρεί στην catalina, η οποία συγκεντρώνει μεταβλητές περιβάλλοντος, classpaths, επιλογές JVM και ιδιότητες συστήματος πριν από την εκκίνηση της κλάσης Bootstrap του Tomcat. Ένας διαχειριστής υπηρεσιών μπορεί να καλέσει τον ίδιο χρόνο εκτέλεσης μέσω διαφορετικού περιτυλίγματος.

Τι θα μάθετε

  • Πώς τα CATALINA_HOME, CATALINA_BASE, JAVA_HOME και JRE_HOME επηρεάζουν την εκκίνηση.
  • Πώς τα ορίσματα φλοιού ή παρτίδας γίνονται εντολή Java και μετά λειτουργία κύκλου ζωής Catalina.
  • Πού να επιθεωρήσετε την τελική εντολή χωρίς να αντιγράψετε παρωχημένες σημαίες JVM.

Σε ποιους απευθύνεται: Οι χειριστές που αντιμετωπίζουν προβλήματα με τα περιτυλίγματα εκκίνησης και οι προγραμματιστές που μαθαίνουν εσωτερικά Tomcat.

Ισχύει το 2026: Το ίχνος εντολών παρακάτω προέρχεται από το Tomcat 9.0.27 σε Java 11. Χρησιμοποιήστε το για να κατανοήσετε τη ροή και, στη συνέχεια, επιθεωρήστε τα σενάρια που αποστέλλονται με την υποστηριζόμενη έκδοση Tomcat. Οι εσωτερικές σημαίες και οι συμβατές εκδόσεις Java αλλάζουν.

Σημείωση ασφαλείας: Οι εντολές και τα παραδείγματα ρυθμίσεων του αρχικού άρθρου δεν έχουν εκτελεστεί ξανά σε σύγχρονο περιβάλλον παραγωγής. Πριν από την εφαρμογή, ελέγξτε τις υποστηριζόμενες εκδόσεις, δημιουργήστε αντίγραφα ασφαλείας και προετοιμάστε σχέδιο επαναφοράς σε ξεχωριστό περιβάλλον δοκιμών.

Επίσημες πηγές

Επισκόπηση

Στη συνέχεια εξηγείται πώς ξεκινάει ο Tomcat. Συνήθως ξεκινάτε το Tomcat από ένα αρχείο δέσμης ή ένα αρχείο κελύφους, αλλά θέλουμε να δούμε τι πραγματικά κάνει το αρχείο δέσμης ή το αρχείο κελύφους. Η έκδοση του Tomcat που πρέπει να ελεγχθεί είναι η '9.0.27'.

Ο τρόπος λήψης της έκδοσης "9.0.27" του Tomcat εξηγείται επίσης παρακάτω, οπότε παρακαλούμε ανατρέξτε σε αυτήν αν τη χρειάζεστε.

Λήψη Tomcat

Περιεχόμενα

  1. Πώς ξεκινάει ο Tomcat.
  2. Σύνοψη

1. Πώς ξεκινάει ο Tomcat.

Εν κατακλείδι, ο Tomcat εκκινείται με τις ακόλουθες εντολές Java. (Η υπόθεση είναι ότι η έκδοση Tomcat είναι 9.0.27 και η έκδοση Java είναι 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 εκκινείται τελικά με την εκτέλεση της παραπάνω εντολής Java μιας γραμμής και την κλήση της κλάσης main (public static void main(String[] args)).

Σημείωση:Αν δεν ξέρετε τι κάνει το μέρος "-D~", ανατρέξτε στα παρακάτω.

Τι είναι η επιλογή D (-D) που καθορίζεται κατά την εκκίνηση της Java;

Τελικά, εκτελείται μια μόνο γραμμή εντολών, αλλά θέλετε να ελέγξετε τι κάνει το startup.bat.

1-1. Περιεχόμενα του startup.bat

Το startup.bat απλώς ελέγχει τις ρυθμίσεις περιβάλλοντος για την εκκίνηση του Tomcat, και στη συνέχεια εκτελείται το catalina.bat με το όρισμα start. Η πραγματική κύρια επεξεργασία περιγράφεται στο catalina.bat.

Έτσι, αυτό που γίνεται στο catalina.bat είναι η συναρμολόγηση της τελικής εντολής που θα εκτελεστεί, όπως περιγράφηκε προηγουμένως. Συγκεκριμένα, οι εντολές συγκεντρώνονται αναζητώντας τα εξής

  • Κατάλογος Java προς ενεργοποίηση
  • Μονοπάτι κλάσεων Java, κύρια κλάση.
  • Επιλογές Java που απαιτούνται για την εκκίνηση του Tomcat

Μετά την αναζήτηση των παραπάνω, το τελικό αποτέλεσμα είναι μια εντολή Java μιας γραμμής.

2. περίληψη

Ο Tomcat εκκινείται από ένα αρχείο δέσμης, όπως το startup.bat, αλλά τελικά ο Tomcat εκκινείται από μια εντολή Java μίας γραμμής. Αυτή η εντολή καλεί την κλάση main (public static void main(String[] args)) και ξεκινά τη διαδικασία.

Παρεμπιπτόντως, η κύρια κλάση για τον Tomcat βρίσκεται στο "org.apache.catalina.startup.Bootstrap".

Αυτά είναι τα βασικά βήματα και οι περιορισμοί που πρέπει να ληφθούν υπόψη.