informasi kontak saya
Surat[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Semoga artikelnya dapat memberi anda inspirasi dan inspirasi~
Jika menurut Anda artikel ini bermanfaat bagi Anda,Suka+Ikuti+Kumpulkan Tolong dukung blogger~
Tomcat masih aktif dalam kehidupan sehari-hari para pengembang, tetapi apakah kita memiliki pemahaman yang lebih mendalam tentangnya, atau cukup hanya mengetahui cara menginstal, mengkonfigurasi, dan memulainya? Artikel ini menjadi ringkasan dan catatan saya. Saya harap ada sesuatu yang Anda butuhkan;
Mempertimbangkan faktor lingkungan, setiap orang harus membandingkan dan menganalisis lingkungan perangkat lunak dan perangkat keras mereka sendiri dengan benar ~ Harap baca lingkungan perangkat keras dan perangkat lunak dengan cermat.
Windows 11 专业版
alat pengembangan:Tomcat 9.0
Struktur direktori file terutama dibagi menjadi: bin, conf, lib, logs, temp, webapps, work. Struktur direktori file di Tomcat relatif jelas, dan setiap direktori memilikinya sendiri
特定的功能
Dan用途
;
Direktori bin menyimpan file skrip startup dan shutdown Tomcat;
重要的文件
Kita harus tahu;
untukstartup
Danshutdown
Anda pasti sudah sangat familiar dengannya. Kita harus menggunakannya setiap hari untuk memulai dan mematikan server Tomcat dengan cepat. Sedangkan untuk akhiran bat, tergantung pada jenis sistem operasi Anda.
tentangCatalina
Filenya juga dari Tomcat启动脚本
,Danstartup
Perbedaan utamanya adalah yang terakhir专注启动
, sedangkan yang pertama masih bisa lewat配置参数
untuk mencapai tujuan lain;
Misalnya disini saya menggunakan catalina untuk memulai Tomcat, saya akan melakukan ini: entercatalina.bat start
(sistem windows)
di sini adalahtomcat的bin目录
Dieksekusi di bawah, jika Anda telah mengkonfigurasi环境变量
, maka Anda dapat melakukan operasi ini di lokasi mana pun, kami juga dapat menggunakan hal yang sama;catalina.bat stop
untuk menghentikan layanan;
Jadi bagaimana cara mengkonfigurasi parameter?
Pendekatan yang biasa dilakukan adalah mengonfigurasi parameter yang relevan dengan memodifikasi file catalina. Konfigurasi parameter yang paling umum adalah JVM dan konten terkait lainnya, misalnya, di file catalina
-Xms512m
sudah diaturJVM的初始堆内存
adalah 512MB,-Xmx1024m
sudah diatur最大堆内存
adalah 1024MB,-XX:+UseG1GC
DiaktifkanG1垃圾回收器
,-Duser.timezone=Asia/Shanghai
sudah diaturJVM的时区
Setelah modifikasi, restart Tomcat agar konfigurasi dapat diterapkan, berikut perbandingan perbedaan sebelum dan sesudah konfigurasi;
Program dimulai secara normal, dan kita dapat melihat informasi parameter yang kita konfigurasikan di konsol;
需要注意的是
, dalam situasi sebenarnya kita tidak melakukannya不建议直接在catalina中修改
, yang tidak bersahabat dengan peningkatan dan pemeliharaan layanan kucing jantan kami, jadi kami merekomendasikan通过setenv配置文件
Untuk mengkonfigurasi parameter; mengapa setenv? Mari kita lihat file konfigurasi catalina. Paragraf ini memberitahu kita bahwa skrip akan membuat penilaian ketika dimulai. Jika file ini ada, maka secara otomatis dipanggil. File ini biasanya tidak ada di direktori Tomcat saat ini, dan kita membutuhkannya untuk membuatnya sendiri secara manual.
Setelah membuat setenv (setenv.bat di Windows, setenv.sh di mac/linux), lalu tambahkan konfigurasi di dalamnya sesuai dengan sistem yang berbeda; harap dicatat bahwa sintaksnya akan sedikit berbeda;
// mac或linux
export JAVA_OPTS="-Xms512m -Xmx1024m -XX:+UseG1GC -Duser.timezone=Asia/Shanghai"
// windows
set JAVA_OPTS=-Xms512m -Xmx1024m -XX:+UseG1GC -Duser.timezone=Asia/Shanghai
file layanan, kita hanya melihat file ini di Windows, biasanya digunakan untuk mendaftarkan layanan Tomcat sebagai layanan sistem, penggunaan utamanya adalah masuk ke direktori bin dan menjalankan service.bat install + nama layanan khusus;
Kemudian kita dapat melihat di layanan windows bahwa itu belum dimulai saat ini. Anda dapat mengklik untuk memulai atau memulai ulang komputer. Ini akan dimulai secara otomatis saat komputer dihidupkan ulang berikutnya;
Direktori conf menyimpan berbagai file konfigurasi global server Tomcat.
Di file konfigurasi server.xml Apache Tomcat, Anda bisa配置多个端口
, tapi yang paling umum termasukHTTP服务的端口
(Bawaannya adalah 8080),AJP服务的端口
(standarnya adalah 8009), danSSL/TLS(即HTTPS)的端口
(Jika diaktifkan, defaultnya mungkin 8443, tetapi ini tergantung pada konfigurasi spesifik)
【1】port konektor http
Konektor HTTP digunakan untuk menangani permintaan HTTP yang masuk ke Tomcat. Secara default, Tomcat mendengarkan pada port 8080. Anda dapat mengubah port ini dengan memodifikasi atribut port label.
【2】port konektor AJP
Konektor AJP (Apache JServ Protocol) digunakan untuk komunikasi antara Tomcat dan server HTTP Apache, terutama saat menggunakan modul mod_jk. Secara default, Tomcat mendengarkan pada port 8009.
AJP目前我们其实不怎么使用,因为nginx已经可以替代它;它一开始是默认注释的,根据自己需要来开启
【3】Port konektor SSL/TLS (HTTPS).
Jika Anda berencana agar Tomcat menangani permintaan HTTPS, Anda perlu mengonfigurasi konektor SSL/TLS.Ini melibatkan penentuan informasi seperti keystore (keystore) dan kata sandi sertifikat SSL
这个也是默认注释的,当你需要用到https请求的时候,再去开启;certificateKeystoreFile和certificateKeystorePassword应该指向你的密钥库文件和它的密码。这些值需要根据你的实际密钥库文件和密码进行更改
Di direktori instalasi Tomcatconf目录
tengahweb.xml文件
Ya全局配置文件
, yang mendefinisikan Servlet default di seluruh server Tomcat dan pemetaan tipe MIME, dll. Biasanya, file web.xml global ini tidak perlu sering dimodifikasi oleh pengembang, kecuali Anda perlu menambahkan pemetaan Servlet global, filter (Filter), pendengar (Listener), dll. ke seluruh server Tomcat;
一些配置是可以通过注解(Annotations)来完成,这减少了对web.xml文件的依赖;
<tomcat-users xmlns="http://tomcat.apache.org/xml"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
version="1.0">
<!--
注意:默认情况下,Tomcat Manager是禁用的,并且没有设置任何用户。
要启用Tomcat Manager,并为其设置用户,你需要取消以下注释,
并根据需要修改用户名、密码和角色。
-->
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="tomcat" password="tomcat" roles="manager-gui"/>
<user username="admin" password="admin123" roles="manager-script"/>
</tomcat-users>
Dengan mengedit file ini, Anda dapat menentukan level log, format, lokasi keluaran, dll. Ini berguna untuk memantau dan men-debug server Tomcat dan aplikasi yang diterapkan.
# 设置日志的根级别和处理器
handlers = 1catalina.org.apache.juli.FileHandler, 2localhost.org.apache.juli.FileHandler, 3manager.org.apache.juli.FileHandler, 4host-manager.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
# 设置根日志级别
.level = INFO
# 设置特定类别的日志级别
org.apache.catalina.level = INFO
org.apache.catalina.startup.level = FINE
org.apache.catalina.session.level = FINE
org.apache.catalina.util.lifecycle.level = FINE
# 为不同的处理器(文件处理器和控制台处理器)设置格式和文件路径
# 文件处理器示例
1catalina.org.apache.juli.FileHandler.level = FINE
1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
1catalina.org.apache.juli.FileHandler.prefix = catalina.
2localhost.org.apache.juli.FileHandler.level = FINE
2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
2localhost.org.apache.juli.FileHandler.prefix = localhost.
3manager.org.apache.juli.FileHandler.level = FINE
3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
3manager.org.apache.juli.FileHandler.prefix = manager.
4host-manager.org.apache.juli.FileHandler.level = FINE
4host-manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
4host-manager.org.apache.juli.FileHandler.prefix = host-manager.
# 控制台处理器
java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
# 设置日志文件的编码
org.apache.juli.FileHandler.encoding = UTF-8
# Java 类的日志级别
org.apache.jasper.level = INFO
org.apache.coyote.level = INFO
Fungsi: Menyimpan file perpustakaan (file JAR) yang diperlukan untuk menjalankan Tomcat.
Catatan: Meskipun beberapa versi lama Tomcat atau konfigurasi tertentu mungkin menyimpan file JAR di direktori lain seperti common/lib, server/lib atau shared/lib, versi modern Tomcat lebih memilih untuk menyimpan file perpustakaan inti di direktori lib.
Fungsi: Menyimpan file log saat Tomcat dijalankan.
Konten: termasuk berbagai informasi log selama startup Tomcat, proses berjalan dan mematikan, seperti catalina.out, localhost.log, dll.
这里catalina.2024-7-10是通过日志滚动策略生成的,用于记录Catalina容器的日常运行日志;
locahost.2024-7-10,localhost_access_log.2024-7-10分别记录了应用程序的日志信息和访问日志
;
host-manager日志是监控和管理Tomcat服务器上虚拟主机的重要工具。通过分析这些日志文件,管理员可以了解虚拟主机的使用情况,以及是否存在潜在的问题或安全风险
Biasanya saat kami memeriksa log setiap hari, kami tidak memilih Catalina.log/Catalina.out/appName.log, dll.;
Fungsi: Direktori penerbitan Web utama Tomcat, digunakan untuk menyimpan aplikasi Web.
Konten: Secara default, aplikasi dapat dipublikasikan dengan menempatkan file aplikasi web di direktori ini. Tomcat akan secara otomatis memindai aplikasi di direktori ini dan menyebarkannya.
Karakteristik aplikasi web adalah:
【1】Penyebaran otomatis: Tomcat akan secara teratur memindai semua konten di direktori webapps.ketika Anda menempatkan a WAR 文件
(misalnya, myapp.war) ketika ditempatkan di direktori webapps, Tomcat akan secara otomatis mendeteksi file ini dan尝试部署它
.Jika file tersebut adalah paket WAR, Tomcat akan mendekompresi file terlebih dahulu dan kemudian menyebarkan aplikasi sesuai dengan struktur direktori yang didekompresi.
【2】Manajemen: Dengan langsung mengoperasikan file di direktori webapps, Anda dapat dengan mudah mengelola aplikasi Web di Tomcat.Misalnya, Anda bisa lulus删除目录来卸载应用程序
, atau melalui替换 WAR 文件
Datangmemperbaruiaplikasi.
【3】 Jalur penerapan yang disesuaikan:Tomcat 默认将 Web 应用程序部署在 webapps 目录下
, tetapi Anda juga dapat memodifikasi file konfigurasi Tomcat (misalnya server.xml
) untuk menentukan direktori lain sebagai jalur penerapan aplikasi. Izinkan saya menyebutkan hal ini, jarang sekali melihat jalan lain ditentukan tetapi bukan tidak mungkin;
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<!-- 配置一个Context来指定其他目录为应用程序的部署路径 -->
<Context path="/myapp" docBase="/path/to/your/application" reloadable="true">
<!-- 这里可以添加更多的Context配置 -->
</Context>
<!-- 其他Host配置 -->
</Host>
Fungsi: Menyimpan file kelas yang dihasilkan setelah kompilasi JSP dan file sementara Servlet.
Catatan: Hapus isi direktori ini dan restart Tomcat untuk menghapus cache JSP dan Servlet yang dikompilasi.
简单的来说,work的作用就是JSP编译和缓存来提高tomcat的性能,主要体现在响应速度上;
注意需要定期清理该目录,长期tomcat的运行和更新会导致该目录越来愈大;占用大量的磁盘空间;
Fungsi: Menyimpan file-file sementara yang dihasilkan selama menjalankan Tomcat.
Catatan: File-file sementara ini biasanya digunakan untuk mendukung operasi internal Tomcat, seperti manajemen sesi, pengunggahan file, dll.
这个目录有点类似于work目录,也是通过缓存临时文件来提高应用程序的性能
[1] Setelah membuat konfigurasi yang relevan, Anda sering kali perlu memulai ulang Tomcat agar dapat diterapkan;
[2] Meskipun direktori sementara dan kerja adalah file cache dan file sementara, Anda tetap perlu membuat cadangan saat membersihkannya, dan mengonfirmasi apakah file ini masih ditempati oleh proses aplikasi lain;
[3] Ketika shutdown dijalankan, proses ini tidak langsung berhenti, tetapi mencoba mematikan Tomcat dengan baik. Proses ini mungkin memerlukan waktu untuk berhenti tergantung pada situasinya; Anda dapat menilai apakah Tomcat telah dimatikan dengan memeriksa status port Tomcat ;