版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Tomcat服務(wù)目錄01Tomcat概述02Tomcat安裝部署Tomcat概述Tomcat概述
Tomcat是什么Tomcat服務(wù)器是一個(gè)免費(fèi)的開(kāi)放源代碼的Web應(yīng)用服務(wù)器,屬于輕量級(jí)應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問(wèn)用戶(hù)不是很多的場(chǎng)合下被普遍使用,是開(kāi)發(fā)和調(diào)試JSP程序的首選。對(duì)于一個(gè)初學(xué)者來(lái)說(shuō),可以這樣認(rèn)為,當(dāng)在一臺(tái)機(jī)器上配置好Apache服務(wù)器,可利用它響應(yīng)HTML(標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言下的一個(gè)應(yīng)用)頁(yè)面的訪問(wèn)請(qǐng)求。實(shí)際上Tomcat是Apache服務(wù)器的擴(kuò)展,但運(yùn)行時(shí)它是獨(dú)立運(yùn)行的,所以當(dāng)你運(yùn)行tomcat時(shí),它實(shí)際上作為一個(gè)與Apache獨(dú)立的進(jìn)程單獨(dú)運(yùn)行的。
Tomcat概述
Tomcat與Apache區(qū)別Tomcat和Apache是兩個(gè)不同的服務(wù)器軟件,其主要區(qū)別在于用途和實(shí)現(xiàn)方式。Apache是一個(gè)Web服務(wù)器,主要用于提供靜態(tài)內(nèi)容的訪問(wèn)服務(wù),如網(wǎng)頁(yè)、圖片等文件的傳輸。它通過(guò)HTTP協(xié)議來(lái)處理客戶(hù)端請(qǐng)求,并將結(jié)果返回給客戶(hù)端。Apache常與PHP、Perl、Python等語(yǔ)言一起使用,搭建動(dòng)態(tài)網(wǎng)站。Tomcat是一個(gè)Servlet容器,主要用于JSP和JavaServlet的部署和運(yùn)行。它也可以作為Web服務(wù)器使用,但相比Apache,Tomcat更專(zhuān)注于處理動(dòng)態(tài)內(nèi)容。Tomcat還支持JavaWeb框架,如Struts、Spring等。此外,Apache和Tomcat的實(shí)現(xiàn)方式也不同。Apache采用多進(jìn)程或多線(xiàn)程模型,每個(gè)進(jìn)程或線(xiàn)程獨(dú)立處理一個(gè)客戶(hù)端請(qǐng)求;而Tomcat則使用單線(xiàn)程模型,每個(gè)請(qǐng)求都由同一線(xiàn)程依次處理。這使得Tomcat在處理高并發(fā)請(qǐng)求時(shí)表現(xiàn)更好,但相應(yīng)速度較慢。Nginx、Apache都是目前主流的Web服務(wù)器,也可以作為反向代理服務(wù)器;它們?cè)谔幚泶罅坎l(fā)的請(qǐng)求連接、連接會(huì)話(huà)管理和靜態(tài)內(nèi)容請(qǐng)求等方面相比Tomcat更具優(yōu)勢(shì)。所以一般在實(shí)際應(yīng)用中,先是通過(guò)Nginx(或Apache)反向代理服務(wù)器接收請(qǐng)求,匹配分離動(dòng)態(tài)/靜態(tài)請(qǐng)求(動(dòng)靜分離);如果是靜態(tài)請(qǐng)求,則轉(zhuǎn)發(fā)到另外的NginxWEB服務(wù)器上,返回靜態(tài)內(nèi)容;如果是動(dòng)態(tài)請(qǐng)求,則轉(zhuǎn)發(fā)到后面的Tomcat應(yīng)用服務(wù)器,處理動(dòng)態(tài)請(qǐng)求的業(yè)務(wù)邏輯。簡(jiǎn)單的架構(gòu)如下:Tomcat與Nginx/Apache的應(yīng)用架構(gòu)
Tomcat結(jié)構(gòu)
Tomcat
組件1、Connector
一個(gè)Connecter將在某個(gè)指定的端口上偵聽(tīng)客戶(hù)請(qǐng)求,接收瀏覽器的發(fā)過(guò)來(lái)的tcp連接請(qǐng)求,創(chuàng)建一個(gè)Request和Response對(duì)象分別用于和請(qǐng)求端交換數(shù)據(jù),然后會(huì)產(chǎn)生一個(gè)線(xiàn)程來(lái)處理這個(gè)請(qǐng)求并把產(chǎn)生的Request和Response對(duì)象傳給處理Engine(Container中的一部分),從Engine出獲得響應(yīng)并返回客戶(hù)。
Tomcat中有兩個(gè)經(jīng)典的Connector,一個(gè)直接偵聽(tīng)來(lái)自Browser的HTTP請(qǐng)求,另外一個(gè)來(lái)自其他的WebServer請(qǐng)求。HTTP/1.1Connector在端口8080處偵聽(tīng)來(lái)自客戶(hù)Browser的HTTP請(qǐng)求,AJP/1.3Connector在端口8009處偵聽(tīng)其他WebServer(其他的HTTP服務(wù)器)的Servlet/JSP請(qǐng)求。
Connector最重要的功能就是接收連接請(qǐng)求然后分配線(xiàn)程讓Container來(lái)處理這個(gè)請(qǐng)求,所以這必然是多線(xiàn)程的,多線(xiàn)程的處理是Connector設(shè)計(jì)的核心。2、ContainerContainer是容器的父接口,該容器的設(shè)計(jì)用的是典型的責(zé)任鏈的設(shè)計(jì)模式,它由四個(gè)子容器組件構(gòu)成,分別是Engine、Host、Context、Wrapper。這四個(gè)組件是負(fù)責(zé)關(guān)系,存在包含關(guān)系。通常一個(gè)Servletclass對(duì)應(yīng)一個(gè)Wrapper,如果有多個(gè)Servlet定義多個(gè)Wrapper,如果有多個(gè)Wrapper就要定義一個(gè)更高的Container,如Context。
Context還可以定義在父容器Host中,Host不是必須的,但是要運(yùn)行war程序,就必須要Host,因?yàn)閣ar中必有web.xml文件,這個(gè)文件的解析就需要Host了,如果要有多個(gè)Host就要定義一個(gè)top容器Engine了。而Engine沒(méi)有父容器了,一個(gè)Engine代表一個(gè)完整的Servlet引擎。Tomcat安裝后根目錄如上圖,由環(huán)境變量$CATALINA_HOME表示,可以手動(dòng)設(shè)置,可以由/bin/catalina.sh命令腳本自動(dòng)設(shè)置該環(huán)境變量,如果使用多個(gè)Tomcat實(shí)例,需要為每個(gè)實(shí)例定義$CATALINA_BASE環(huán)境變量。這些目錄說(shuō)明如下:bin:?jiǎn)?dòng)、關(guān)閉和其他腳本,*.sh文件(對(duì)于Unix系統(tǒng))是*.bat文件的功能重復(fù)(對(duì)于Windows系統(tǒng))。conf:配置文件及相關(guān)數(shù)據(jù)文件存放目錄,如server.xml,tomcat-users.xml,web.xml;logs:默認(rèn)的日志文件存放目錄,如訪問(wèn)日志,可以通過(guò)server.xml文件配置到其他目錄;lib:Tomcat使用的庫(kù)文件存放目錄,如Servlet規(guī)范的API;temp:臨時(shí)文件的工作目錄,如上傳大文件時(shí)的緩存數(shù)據(jù)會(huì)存儲(chǔ)到這里;webapps:我們的應(yīng)用程序部署目錄,可以通過(guò)server.xml文件配置;work:Tomcat工作目錄,如存放JSP編譯后的類(lèi)文件。Tomcat安裝目錄
Tomcat的配置文件默認(rèn)存放在$CATALINA_HOME/conf目錄中,主要有以下幾個(gè):server.xml:Tomcat核心配置文件,包含Service,Connector,Engine,Realm,Valve,Hosts主組件的相關(guān)配置信息。context.xml:為部署與此Tomcat實(shí)例上的web應(yīng)用程序提供的默認(rèn)配置文件,每個(gè)webapp都可以使用獨(dú)有的context.xml,通常放置于webapp目錄的META-INF子目錄中,常用于定義會(huì)話(huà)管理器,Realm已經(jīng)JDBC等。web.xml:為部署與Tomcat實(shí)例上的所有web應(yīng)用程序提供部署描述符,通常用于為webapp提供默認(rèn)的servlet定義和基本的MUIME映射表。tomcat-users.xml:Realm認(rèn)證時(shí)用到的相關(guān)角色、用戶(hù)和密碼等信息;Tomcat自帶的manager默認(rèn)情況下會(huì)用到此文件;在Tomcat中添加/刪除用戶(hù),為用戶(hù)指定角色等將通過(guò)編輯此文件實(shí)現(xiàn)。catalina.policy:當(dāng)基于-securty選項(xiàng)啟動(dòng)tomcat實(shí)例時(shí)會(huì)讀取此配置文件;此文件是JAVA的安全策略配置文件,用于配置訪問(wèn)codebase(代碼庫(kù))或某些Java類(lèi)的權(quán)限。perties:java屬性定義文件,設(shè)定類(lèi)加載器路徑,安全包列表和一些調(diào)整性能的參數(shù)信息。perties:定義日志相關(guān)的配置信息,如日志級(jí)別、文件路徑等。Tomcat配置文件我們的應(yīng)用程序一般會(huì)打包成歸檔格式(.war),然后放到Tomcat的應(yīng)用程序部署目錄。而webapp有特定的組織格式,是一種層次型目錄結(jié)構(gòu),通常包含了servlet代碼文件、HTML/jsp頁(yè)面文件、類(lèi)文件、部署描述符文件等等,相關(guān)說(shuō)明如下:/:web應(yīng)用程序的根目錄,可以存放HTML/JSP頁(yè)面以及其他客戶(hù)端瀏覽器必須可見(jiàn)的其他文件(如js/css/圖像文件)。在較大的應(yīng)用程序中,還可以選擇將這些文件劃分為子目錄層次結(jié)構(gòu)。/WEB-INF:此webapp的所有私有資源目錄,用戶(hù)瀏覽器不可能訪問(wèn)到的,通常web.xml和context.xml均放置于此目錄。/WEB-INF/web.xml:此webapp的私有的部署描述符,描述組成應(yīng)用程序的servlet和其他組件(如filter),以及相關(guān)初始化參數(shù)和容器管理的安全性約束。/WEB-INF/classes:此webapp自有的Java程序類(lèi)文件(.class)及相關(guān)資源存放目錄。/WEB-INF/lib:此目錄存放webapp自有的JAR文件,其中包含應(yīng)用程序所需的Java類(lèi)文件(及相關(guān)資源),例如第三方類(lèi)庫(kù)或JDBC驅(qū)動(dòng)程序。WEB應(yīng)用部署目錄結(jié)構(gòu)Tomcat安裝部署
Tomcat安裝部署Tomcat安裝上傳壓縮包,并解壓:[root@localhost~]#unziptomcat.zipArchive:tomcat.zipinflating:apache-tomcat-7.0.88.zipinflating:jre-8u261-linux-x64.tar.gzinflating:jsp-web.zip1.解壓文件解壓Java的壓縮包至/usr/localtarzxfjre-8u261-linux-x64.tar.gz-C/usr/local/ls/usr/local/jre1.8.0_261/2.配置環(huán)境變量,讓系統(tǒng)獲取到Java的信息:vim/etc/profile##在文件末端新增以下三行exportJAVA_HOME=/usr/local/jre1.8.0_261/exportPATH=$JAVA_HOME/bin:$PATHexportCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar安裝java1.解壓T
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中央黨校(國(guó)家行政學(xué)院)其他專(zhuān)業(yè)技術(shù)崗位公開(kāi)招聘6人備考題庫(kù)有答案詳解
- 宜賓市公用事業(yè)服務(wù)集團(tuán)有限公司及其子公司2025年第一批第二次員工公開(kāi)招聘的備考題庫(kù)有答案詳解
- 3D可視化技術(shù)在神經(jīng)外科手術(shù)中的標(biāo)準(zhǔn)化質(zhì)量控制
- 2025年蘄春招聘教師點(diǎn)擊查看備考題庫(kù)及一套參考答案詳解
- 廣西工貿(mào)職業(yè)技術(shù)學(xué)校河池校區(qū)2025年秋季學(xué)期招聘編外工作人員備考題庫(kù)及參考答案詳解
- 2025年貴安新區(qū)招聘8人備考題庫(kù)及1套參考答案詳解
- 2025年金華市正信公證處招聘工作人員備考題庫(kù)附答案詳解
- 2025年地?cái)偨?jīng)濟(jì)五年夜間經(jīng)營(yíng)規(guī)范報(bào)告
- 2025年中山市東區(qū)中學(xué)公開(kāi)招聘地理專(zhuān)任教師備考題庫(kù)及參考答案詳解
- 2025年成都市雙流區(qū)怡心騎龍幼兒園招聘?jìng)淇碱}庫(kù)及一套答案詳解
- 遼寧省地質(zhì)勘探礦業(yè)集團(tuán)有限責(zé)任公司招聘筆試題庫(kù)2024
- 《山區(qū)公路橋梁典型病害手冊(cè)(試行)》
- 110kv輸電線(xiàn)路繼電保護(hù)系統(tǒng)設(shè)計(jì)說(shuō)明書(shū)-最終
- 墨爾本餐飲創(chuàng)業(yè)計(jì)劃書(shū)
- (新平臺(tái))國(guó)家開(kāi)放大學(xué)《農(nóng)村社會(huì)學(xué)》形考任務(wù)1-4參考答案
- 2023燃煤電廠智慧電廠典型設(shè)計(jì)規(guī)范
- 獻(xiàn)身國(guó)防事業(yè)志愿書(shū)范文
- 宋小寶小品《碰瓷》完整臺(tái)詞
- 2023年06月北京第一實(shí)驗(yàn)學(xué)校招考聘用筆試題庫(kù)含答案解析
- 毛澤東思想和中國(guó)特色社會(huì)主義理論體系概論(山東師范大學(xué))知到章節(jié)答案智慧樹(shù)2023年
- 《先秦漢魏晉南北朝詩(shī)》(精校WORD版)
評(píng)論
0/150
提交評(píng)論