2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
आशासे लेखः भवद्भ्यः प्रेरणाम् प्रेरणाञ्च दातुं शक्नोति~
यदि भवान् लेखः भवतः कृते सहायकः इति मन्यते तर्हिLike+Follow+Colect कुर्वन्तु कृपया ब्लोगरस्य समर्थनं कुर्वन्तु~
Tomcat अद्यापि विकासकानां दैनन्दिनजीवने सक्रियः अस्ति, परन्तु अस्माकं तस्य गहनतया अवगतिः अस्ति वा, अथवा केवलं कथं संस्थापनं, विन्यासः, आरम्भः च इति ज्ञातुं पर्याप्तम्? अयं लेखः मम सारांशः अभिलेखः च इति कार्यं करोति आशासे भवद्भ्यः किमपि आवश्यकम् अस्ति;
पर्यावरणीयकारकान् विचार्य सर्वेषां स्वस्य सॉफ्टवेयर-हार्डवेयर-वातावरणस्य सम्यक् तुलनां विश्लेषणं च करणीयम् ~ कृपया हार्डवेयर-सॉफ्टवेयर-वातावरणं सावधानीपूर्वकं पठन्तु।
Windows 11 专业版
विकाससाधनम् : १.Tomcat 9.0
सञ्चिकानिर्देशिकासंरचना मुख्यतया विभक्ता अस्ति: bin, conf, lib, logs, temp, webapps, work Tomcat इत्यस्मिन् सञ्चिकानिर्देशिकासंरचना तुल्यकालिकरूपेण स्पष्टा अस्ति, प्रत्येकस्य निर्देशिकायाः स्वकीया अस्ति
特定的功能
तथा用途
;
bin निर्देशिका Tomcat startup and shutdown स्क्रिप्ट् सञ्चिकाः संगृह्णाति अत्र अनेकाः सन्ति;
重要的文件
अस्माभिः अवश्यं ज्ञातव्यम्;
कृतेstartup
तथाshutdown
भवान् तया अतीव परिचितः भवितुमर्हति यत् tomcat सर्वरं शीघ्रं आरभ्य निरुद्धं कर्तुं प्रतिदिनं तस्य उपयोगः करणीयः । बट् प्रत्ययस्य विषये तु भवतः ऑपरेटिंग् सिस्टम् प्रकारस्य उपरि निर्भरं भवति ।
विषयेCatalina
सञ्चिका अपि tomcat इत्यस्मात् अस्ति启动脚本
,तथाstartup
मुख्यः भेदः अस्ति यत् उत्तरम्专注启动
, पूर्वः तु अद्यापि उत्तीर्णः भवितुम् अर्हति配置参数
अन्यप्रयोजनानि साधयितुं;
यथा, अत्र अहं Tomcat आरभ्यतुं catalina इत्यस्य उपयोगं करोमि, अहम् एतत् करिष्यामि: entercatalina.bat start
(विण्डोज सिस्टम्) २.
अत्र अस्तिtomcat的bin目录
अन्तर्गतं निष्पादितम्, यदि भवान् विन्यस्तवान् अस्ति环境变量
, तर्हि भवान् कस्मिन् अपि स्थाने एतत् कार्यं कर्तुं शक्नोति, वयं अपि उपयोक्तुं शक्नुमः;catalina.bat stop
सेवां निवारयितुं;
अतः पैरामीटर्स् कथं विन्यस्तं कर्तव्यम् ?
सामान्यः उपायः अस्ति यत् catalina सञ्चिकां परिवर्त्य प्रासंगिकं पैरामीटर् विन्यस्तं करणीयम्, तथा च वयं यत् सर्वाधिकं सामान्यं पैरामीटर् विन्यासं उपयुञ्ज्महे तत् JVM इत्यादीनि सम्बद्धानि सामग्रीनि उदाहरणार्थं, catalina सञ्चिकायां, अत्र I
-Xms512m
पूर्वमेव सेटअप कृतम् अस्तिJVM的初始堆内存
५१२MB अस्ति, .-Xmx1024m
पूर्वमेव सेटअप कृतम् अस्ति最大堆内存
इति १०२४MB, .-XX:+UseG1GC
सक्षमम्G1垃圾回收器
,-Duser.timezone=Asia/Shanghai
पूर्वमेव सेटअप कृतम् अस्तिJVM的时区
परिवर्तनानन्तरं, विन्यासस्य प्रभावं कर्तुं tomcat पुनः आरभत अत्र विन्यासात् पूर्वं पश्चात् च भेदस्य तुलना अस्ति;
कार्यक्रमः सामान्यतया आरभ्यते, तथा च वयं कन्सोल् मध्ये विन्यस्तं पैरामीटर् सूचनां द्रष्टुं शक्नुमः;
需要注意的是
, वास्तविकपरिस्थितौ वयं न कुर्मः不建议直接在catalina中修改
, यत् अस्माकं tomcat सेवायाः उन्नयनं परिपालनं च मैत्रीपूर्णं नास्ति, अतः वयं अनुशंसयामः通过setenv配置文件
पैरामीटर्स् विन्यस्तं कर्तुं setenv किमर्थम्? catalina इत्यस्य विन्याससञ्चिकां पश्यामः अयं अनुच्छेदः अस्मान् वदति यत् स्क्रिप्ट् आरम्भे निर्णयं करिष्यति यदि एषा सञ्चिका अस्ति तर्हि स्वयमेव आह्वयति एषा सञ्चिका प्रायः वर्तमान tomcat निर्देशिकायां नास्ति स्वयमेव एकं हस्तचलितरूपेण निर्मातुं।
setenv (Windows मध्ये setenv.bat, mac/linux मध्ये setenv.sh) इत्यस्य निर्माणानन्तरं, ततः भिन्न-भिन्न-प्रणाली-अनुसारं तस्मिन् विन्यासान् योजयन्तु, कृपया ज्ञातव्यं यत् वाक्य-विन्यासः किञ्चित् भिन्नः भविष्यति;
// 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
service file, वयं केवलं Windows मध्ये एतां सञ्चिकां पश्यामः, सामान्यतया Tomcat सेवां सिस्टम् सेवारूपेण पञ्जीकरणाय उपयुज्यते मुख्यः उपयोगः bin निर्देशिकायां प्रवेशं कृत्वा service.bat install + custom service name निष्पादयितुं भवति;
ततः वयं windows service मध्ये द्रष्टुं शक्नुमः यत् अस्मिन् समये इदं न आरब्धम् अस्ति भवान् सङ्गणकस्य आरम्भं कर्तुं वा पुनः आरभ्यतुं वा क्लिक् कर्तुं शक्नोति It will start automatically with the next restart of the computer
conf निर्देशिका Tomcat सर्वरस्य विविधाः वैश्विकविन्याससञ्चिकाः संगृह्णाति ।
Apache Tomcat इत्यस्य server.xml विन्याससञ्चिकायां, भवान् शक्नोति配置多个端口
, परन्तु एतेषु सामान्यतमाः अन्तर्भवन्तिHTTP服务的端口
(पूर्वनिर्धारितं ८०८० अस्ति),AJP服务的端口
(पूर्वनिर्धारितं ८००९), तथा चSSL/TLS(即HTTPS)的端口
(यदि सक्षमं भवति तर्हि पूर्वनिर्धारितं ८४४३ भवितुम् अर्हति, परन्तु एतत् विशिष्टविन्यासस्य उपरि निर्भरं भवति)
【1】http संयोजक पोर्ट
Tomcat मध्ये आगच्छन्तं HTTP अनुरोधं नियन्त्रयितुं HTTP संयोजकस्य उपयोगः भवति । पूर्वनिर्धारितरूपेण Tomcat 8080 पोर्ट् इत्यत्र शृणोति । लेबलस्य पोर्ट् विशेषतां परिवर्त्य भवान् एतत् पोर्ट् परिवर्तयितुं शक्नोति ।
【2】AJP संयोजक पोर्ट
AJP (Apache JServ Protocol) संयोजकस्य उपयोगः Tomcat तथा Apache HTTP सर्वरयोः मध्ये संचारार्थं भवति, विशेषतः mod_jk मॉड्यूलस्य उपयोगं कुर्वन् । पूर्वनिर्धारितरूपेण Tomcat 8009 पोर्ट् इत्यत्र शृणोति ।
AJP目前我们其实不怎么使用,因为nginx已经可以替代它;它一开始是默认注释的,根据自己需要来开启
【3】SSL / TLS (HTTPS) संयोजक पोर्ट
यदि भवान् Tomcat इत्यनेन HTTPS अनुरोधं सम्पादयितुं योजना अस्ति तर्हि भवान् SSL/TLS संयोजकं विन्यस्तुं आवश्यकम् ।अस्मिन् SSL प्रमाणपत्रस्य कीलभण्डारः (कीभण्डारः) गुप्तशब्दः च इत्यादीनां सूचनानां निर्दिष्टीकरणं भवति
这个也是默认注释的,当你需要用到https请求的时候,再去开启;certificateKeystoreFile和certificateKeystorePassword应该指向你的密钥库文件和它的密码。这些值需要根据你的实际密钥库文件和密码进行更改
Tomcat संस्थापननिर्देशिकायांconf目录
मध्यंweb.xml文件
आम्全局配置文件
, यत् Tomcat सर्वर-व्यापी पूर्वनिर्धारितं Servlet तथा MIME प्रकारस्य मैपिंग इत्यादीन् परिभाषयति । सामान्यतया, एतस्याः वैश्विकस्य web.xml सञ्चिकायाः विकासकैः बहुधा परिवर्तनस्य आवश्यकता नास्ति, यावत् भवद्भिः सम्पूर्णे Tomcat सर्वरे वैश्विकं Servlet मैपिंग, फ़िल्टर (Filter), श्रोता (Listener) इत्यादीनि योजयितुं आवश्यकता नास्ति
一些配置是可以通过注解(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>
एतां सञ्चिकां सम्पादयित्वा भवान् log level, format, output location इत्यादीन् परिभाषितुं शक्नोति । एतत् Tomcat सर्वराणां तेषां नियोजितानाम् अनुप्रयोगानाञ्च निरीक्षणाय, त्रुटिनिवारणाय च उपयोगी भवति ।
# 设置日志的根级别和处理器
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
कार्यम् : Tomcat चालयितुं आवश्यकानि पुस्तकालयसञ्चिकाः (JAR सञ्चिकाः) संग्रहयन्तु ।
नोट्: यद्यपि Tomcat इत्यस्य केचन पुरातनसंस्करणाः अथवा विशिष्टविन्यासाः अन्यनिर्देशिकासु यथा common/lib, server/lib अथवा shared/lib इत्यत्र JAR सञ्चिकाः संग्रहीतुं शक्नुवन्ति तथापि Tomcat इत्यस्य आधुनिकसंस्करणाः lib निर्देशिकायां कोरपुस्तकालयसञ्चिकाः संग्रहीतुं प्राधान्यं ददति
कार्यम् : Tomcat निष्पादिते सति log सञ्चिकाः संग्रहयन्तु ।
सामग्री: Tomcat प्रारम्भस्य, चालनस्य, बन्दीकरणस्य च प्रक्रियाणां समये विविधाः लॉगसूचनाः समाविष्टाः, यथा catalina.out, localhost.log इत्यादयः ।
这里catalina.2024-7-10是通过日志滚动策略生成的,用于记录Catalina容器的日常运行日志;
locahost.2024-7-10,localhost_access_log.2024-7-10分别记录了应用程序的日志信息和访问日志
;
host-manager日志是监控和管理Tomcat服务器上虚拟主机的重要工具。通过分析这些日志文件,管理员可以了解虚拟主机的使用情况,以及是否存在潜在的问题或安全风险
सामान्यतया यदा वयं प्रतिदिनं लॉग्स् पश्यामः तदा वयं Catalina.log/Catalina.out/appName.log इत्यादीनि न चिनोमः;
कार्यम् : Tomcat इत्यस्य मुख्यं जालप्रकाशननिर्देशिका, यस्य उपयोगः जालपुटस्य अनुप्रयोगानाम् संग्रहणार्थं भवति ।
सामग्री: पूर्वनिर्धारितरूपेण, अस्मिन् निर्देशिकायां जाल-अनुप्रयोग-सञ्चिकाः स्थापयित्वा अनुप्रयोगं प्रकाशयितुं शक्यते । Tomcat स्वयमेव अस्मिन् निर्देशिकायां अनुप्रयोगानाम् स्कैनिङ्गं कृत्वा तान् परिनियोजयिष्यति ।
वेबएप्स् इत्यस्य लक्षणं अस्ति : १.
【1】स्वचालितनियोजनम्: Tomcat नियमितरूपेण webapps निर्देशिकायां सर्वाणि सामग्रीनि स्कैन करिष्यति।यदा त्वं स्थापयसि क WAR 文件
(उदाहरणार्थं, myapp.war) यदा webapps निर्देशिकायां स्थापितं भवति तदा Tomcat स्वयमेव एतां सञ्चिकां ज्ञास्यति तथा च...尝试部署它
.यदि सञ्चिका WAR संकुलं भवति तर्हि Tomcat प्रथमं सञ्चिकां विसंपीडयिष्यति ततः विसंपीडितनिर्देशिकासंरचनायाः अनुसारं अनुप्रयोगं परिनियोजयिष्यति ।
【2】प्रबन्धनम् : webapps निर्देशिकायां सञ्चिकानां प्रत्यक्षतया संचालनेन, भवान् Tomcat इत्यत्र Web अनुप्रयोगानाम् प्रबन्धनं सुलभतया कर्तुं शक्नोति ।यथा - भवन्तः उत्तीर्णं कर्तुं शक्नुवन्ति删除目录来卸载应用程序
, वा वा替换 WAR 文件
आगच्छनवीकरणम्app.
【3】अनुकूलित परिनियोजन मार्ग:Tomcat 默认将 Web 应用程序部署在 webapps 目录下
, परन्तु भवान् Tomcat विन्याससञ्चिकां अपि परिवर्तयितुं शक्नोति (यथा server.xml
) अनुप्रयोगस्य परिनियोजनमार्गरूपेण अन्यं निर्देशिकां निर्दिष्टुं । एतत् वदामि, अन्यः मार्गः परिभाषितः द्रष्टुं दुर्लभः किन्तु असम्भवः नास्ति;
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<!-- 配置一个Context来指定其他目录为应用程序的部署路径 -->
<Context path="/myapp" docBase="/path/to/your/application" reloadable="true">
<!-- 这里可以添加更多的Context配置 -->
</Context>
<!-- 其他Host配置 -->
</Host>
कार्यम् : JSP संकलनस्य अनन्तरं उत्पन्नाः वर्गसञ्चिकाः Servlet इत्यस्य अस्थायीसञ्चिकाः च संग्रहयन्तु ।
नोट्: अस्याः निर्देशिकायाः सामग्रीं स्वच्छं कुर्वन्तु तथा च JSP तथा Servlet इत्येतयोः संकलितं संग्रहणं स्वच्छं कर्तुं Tomcat पुनः आरभ्यताम् ।
简单的来说,work的作用就是JSP编译和缓存来提高tomcat的性能,主要体现在响应速度上;
注意需要定期清理该目录,长期tomcat的运行和更新会导致该目录越来愈大;占用大量的磁盘空间;
कार्यम् : Tomcat इत्यस्य चालनकाले उत्पन्नाः अस्थायीसञ्चिकाः संग्रहयन्तु ।
नोटः- एताः अस्थायीसञ्चिकाः प्रायः Tomcat इत्यस्य आन्तरिकसञ्चालनानां समर्थनार्थं उपयुज्यन्ते, यथा सत्रप्रबन्धनम्, सञ्चिका अपलोड् इत्यादीनि ।
这个目录有点类似于work目录,也是通过缓存临时文件来提高应用程序的性能
[1] प्रासंगिकविन्यासान् कृत्वा, भवद्भिः प्रायः Tomcat इत्यस्य पुनः आरम्भः करणीयः भवति यत् प्रभावी भवति;
[2] यद्यपि temp तथा work निर्देशिकाः cache सञ्चिकाः अस्थायी सञ्चिकाः च सन्ति तथापि तान् स्वच्छं कुर्वन् भवद्भिः अद्यापि बैकअपं करणीयम्, तथा च एताः सञ्चिकाः अद्यापि अन्यैः अनुप्रयोगप्रक्रियाभिः आक्रान्ताः सन्ति वा इति पुष्टिः कर्तव्या
[3] यदा बन्दीकरणं निष्पादितं भवति तदा तत्क्षणं न स्थगयति, परन्तु Tomcat इत्येतत् ललिततया निरुद्धं कर्तुं प्रयतते एषा प्रक्रिया परिस्थित्यानुसारं स्थगितुं किञ्चित् समयं गृह्णीयात् ;