柚子快報邀請碼778899分享:java Tomcat
柚子快報邀請碼778899分享:java Tomcat
一、Tomcat體系架構
1.1 Tomcat介紹
Tomcat 是一個免費的、開源的、輕量級的Web應用服務器。
Tomcat8.5的特點
支持Servlet3.1
默認采用NIO,移除BIO
支持NIO2(AIO,異步非阻塞IO)
支持HTTP/2協(xié)議
默認采用異步日志處理
1.2 Tomcat啟動方式
一般啟動:startup.bat/sh
嵌入式啟動:springboot
Debug啟動
1.3 Tomcat項目部署
隱式部署 直接將文件夾、war、jar放到webapps目錄,tomcat會根據文件夾名稱自動生成虛擬路徑。 特點:部署簡單。 缺點:項目修改需要重啟Tomcat。 顯示部署 顯示部署分為兩種: 1) 添加context元素 在配置文件(server.xml)的Host標簽下加入Context標簽。
2)新建xml文件 在/conf/Catalina/localhost文件夾下創(chuàng)建xml文件(訪問路徑為文件名)。 例如:demo.xml,內容為:
1.4 Tomcat目錄結構
bin目錄
startup:檢查catalina執(zhí)行所需環(huán)境,并調用catalina啟動tomcat。 catalina:真正執(zhí)行啟動,可以在該文件中設置虛擬機參數。 shutdown:停止tomcat。 version:查看版本號。 configtest:校驗tomcat配置文件server.xml格式、內容等是否合法。 server:安裝tomcat服務。安裝后可以用系統(tǒng)服務的方式啟動。
webapps 目錄
存放web項目的目錄,每一個文件夾代表一個項目。tomcat安裝后存在的文件夾屬于tomcat默認項目,其中ROOT項目在訪問時不需要加項目名稱。
lib目錄
tomcat類庫,這個目錄下的jar部署在該tomcat下的所有項目都可以共享。 work目錄 存放項目運行時生成的文件。
temp目錄
存放臨時文件,tomcat停止后會刪除。
logs目錄
存放tomcat日志文件。 localhost.xx.log:web應用的內部程序日志。 catalina.xx.log:控制臺日志。 host-manager.xx.log:tomcat管理頁面host-manager項目操作日志。 localhost_access_log_xx.log:tomcat訪問日志。
conf目錄
server.xml:tomcat配置文件。 web.xml:tomcat中所有應用默認的部署描述文件,定義了基礎的Servlet和MIME映射。如果部署的應用不包含web.xml,tomcat將使用該文件初始化部署描述。 context.xml:定義所有web應用需要加載的Context配置,如果web應用指定了自己的context.xml,該文件將被覆蓋。 tomcat-users.xml:配置tomcat用戶信息。
1.5 Tomcat 組件
1.5.1 Server
頂級組件,代表tomcat運行的實例。
1.5.2 Service
一個Server可以包含多個Service。
1.5.3 Connector
連接器,監(jiān)聽轉換socket請求,將請求交給Container處理,支持不同協(xié)議和不同的IO方式。
1.5.4 Container
表示能夠執(zhí)行客戶請求并返回響應的一類對象。不同級別的容器有:Engine、Host、Context、Wrapper。
1.5.5 Engine
整個Servlet引擎,最高級的容器對象。
1.5.6 Host
Servlet引擎中的虛擬機,主要與域名有關,一個服務器有多個域名,可以使用多個host。
1.5.7 Context
代表Servlet的Context,它具備了Servlet運行的基本環(huán)境,表示web應用程序本身。
1.5.8 Wrapper
用于表示web應用中定義的Servlet。
1.5.9 Executor
tomcat組件間可以共享的線程池。
二、Tomcat優(yōu)化
2.1 server.xml優(yōu)化
tomcat配置的優(yōu)化,可參考tomcat默認管理頁面(http://localhost:8080)中的TomcatXX Configuration。
Connector 連接器優(yōu)化 IO模型優(yōu)化 connectionTimeout="20000"redirectPort="8443" /> protocol 可選參數: org.apache.coyote.http11.Http11Protocol - blocking Java connector org.apache.coyote.http11.Http11NioProtocol - non blocking Java NIO connector org.apache.coyote.http11.Http11Nio2Protocol - non blocking Java NIO2 connector org.apache.coyote.http11.Http11AprProtocol - the APR/native connector.2)配置線程池 Executor 配置線程池 Executor maxThreads="150" minSpareThreads="4"/> port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> 去除tomcat訪問 記錄 關閉自動重載,熱部署方式 柚子快報邀請碼778899分享:java Tomcat 參考文章
本文內容根據網絡資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉載請注明,如有侵權,聯(lián)系刪除。