Proses startup Apache Tomcat: skrip startup, Bootstrap, dan Catalina
Tanggal publikasi:
Diperbarui:
Artikel teknis > Proses startup Apache Tomcat: skrip startup, Bootstrap, dan Catalina
Konteks 2026 dan penggunaan yang aman
Kesimpulan: startup.sh atau startup.bat delegasi ke catalina, yang merakit variabel lingkungan, classpaths, JVM pilihan, dan properti sistem sebelum meluncurkan kelas Bootstrap Tomcat. Seorang manajer layanan dapat meminta waktu yang sama melalui pembungkus yang berbeda.
Yang akan Anda pelajari
- Bagaimana
CATALINA_HOME,CATALINA_BASE,JAVA_HOME, danJRE_HOMEmempengaruhi startup. - Bagaimana argumen shell atau batch menjadi perintah Java dan kemudian operasi lifecycle Catalina.
- Dimana untuk memeriksa perintah akhir tanpa menyalin bendera JVM usang.
Untuk siapa ini: Operator menyelidiki pembungkus awal dan pengembang belajar Tomcat magang.
Konteks 2026: Pelacakan perintah di bawah ini adalah dari Tomcat 9.0.27 di Java 11. Gunakan untuk memahami aliran, kemudian memeriksa script dikirim dengan Anda didukung Tomcat rilis; internal flag dan Java versi perubahan kompatibel.
Catatan keamanan: Contoh perintah dan konfigurasi dalam artikel asli belum dijalankan ulang dalam lingkungan produksi saat ini. Verifikasi versi yang didukung, cadangan, kendali akses, dan langkah rollback dalam lingkungan tes yang terpisah sebelum menerapkannya.
Sumber resmi utama
Ikhtisar
Artikel ini menjelaskan bagaimana Tomcat memulai. Anda biasanya memulai Tomcat dari file batch atau file shell, tetapi kita ingin melihat apa yang sebenarnya dilakukan oleh file batch atau file shell. Versi Tomcat yang akan diperiksa adalah '9.0.27'.
Cara mengunduh versi "9.0.27" dari Tomcat juga dijelaskan di bawah ini, jadi silakan merujuknya jika Anda membutuhkannya.
Daftar isi
1. Bagaimana Tomcat memulai.
Kesimpulannya, Tomcat dimulai dengan perintah Java berikut ini. (Asumsinya adalah versi Tomcat adalah 9.0.27 dan versi Java adalah 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
Pada intinya, Tomcat akhirnya dimulai dengan mengeksekusi perintah Java satu baris di atas dan memanggil kelas utama (public static void main(String[] args)).
Catatan: Jika Anda tidak tahu apa yang dilakukan oleh bagian "-D~", silakan merujuk ke yang berikut ini.
Properti sistem Java -D: sintaks, prioritas, dan contoh
Akhirnya, satu baris perintah dieksekusi, tetapi Anda ingin memeriksa apa yang dilakukan startup.bat.
1-1. Isi dari startup.bat
Startup.bat hanya memeriksa pengaturan lingkungan untuk memulai Tomcat, kemudian catalina.bat dieksekusi dengan argumen start. Pemrosesan utama yang sebenarnya dijelaskan dalam catalina.bat.
Jadi apa yang sedang dilakukan di catalina.bat adalah perakitan perintah akhir yang akan dieksekusi, seperti yang dijelaskan sebelumnya. Secara spesifik, perintah-perintah dirangkai dengan mencari yang berikut ini
- Direktori Java yang akan diaktifkan
- Java classpath, kelas utama.
- Opsi Jawa () seperti
Setelah mencari hal di atas, hasil akhirnya adalah perintah Java satu baris.
2. ringkasan
Tomcat dimulai dari file batch seperti startup.bat, tetapi pada akhirnya Tomcat dimulai dengan perintah Java baris tunggal. Perintah ini memanggil kelas main (public static void main(String[] args)) dan memulai proses.
Kebetulan, kelas utama untuk Tomcat terletak di "org.apache.catalina.startup.Bootstrap".
Semoga penjelasan ini membantu.
Artikel teknis
Profil
Kontak