tomcat服务组件详解(二)
Tomcat的架構(gòu):
頂級(jí)組件:?位于配置層次的頂級(jí),并且彼此間有著嚴(yán)格的對(duì)應(yīng)關(guān)系 連接器:?連接客戶端(可以是瀏覽器或Web服務(wù)器)請(qǐng)求至Servlet容器 容器:??包含一組其它組件 被嵌套的組件:位于一個(gè)容器當(dāng)中,但不能包含其它組件各常見(jiàn)組件:
服務(wù)器(server):Tomcat的一個(gè)實(shí)例,通常一個(gè)JVM只能包含一個(gè)Tomcat實(shí)例 服務(wù)(service):一個(gè)服務(wù)組件通常包含一個(gè)引擎和與此引擎相關(guān)聯(lián)的一個(gè)或多個(gè)連接器。給服務(wù)命名可以方便管理員在日志文件中識(shí)別不同服務(wù)產(chǎn)生的日志。一個(gè)server可以包含多個(gè)service組件,但通常情下只為一個(gè)service指派一個(gè)server連接器類(lèi)組件:
連接器(connectors):?負(fù)責(zé)連接客戶端請(qǐng)求至Servlet容器內(nèi)的Web應(yīng)用程序,通常指的是接收客戶發(fā)來(lái)請(qǐng)求的位置及服務(wù)器端分配的端口。 默認(rèn)端口通常是HTTP協(xié)議的8080,一個(gè)引擎可以配置多個(gè)連接器,但這些連接器必須使用不同的端口。默認(rèn)的連接器是基于HTTP/1.1的Coyote容器類(lèi)組件:
引擎(Engine):引擎是指處理請(qǐng)求的Servlet引擎組件,它檢查每請(qǐng)求的HTTP首部信息以辨別請(qǐng)求應(yīng)該發(fā)往哪個(gè)host或context,并將請(qǐng)求處理后的結(jié)果返回的相應(yīng)的客戶端 主機(jī)(Host):主機(jī)組件類(lèi)似于Apache中的虛擬主機(jī),但在Tomcat中只支持基于FQDN的“虛擬主機(jī)”。一個(gè)引擎至少要包含一個(gè)主機(jī) 上下文(Context):Context組件是最內(nèi)層次的組件,它表示W(wǎng)eb應(yīng)用程序本身。配置一個(gè)Context最主要的是指定Web應(yīng)用程序的根目錄,以便Servlet容器能夠?qū)⒂脩粽?qǐng)求發(fā)往正確的位置tomcat目錄結(jié)構(gòu):
bin:??可執(zhí)行腳本 conf:?配置文件 lib:??運(yùn)行時(shí)依賴(lài)的庫(kù)文件 logs:?日志文件 webapps:?web應(yīng)用所在目錄,web資源的存放目錄 work:?tomcat的工作目錄conf目錄:
server.xml:???Tomcat的主配置文件,包含Service,?Connector,?Engine,?Realm,?Valve,?Hosts主組件的相關(guān)配置信息 web.xml:???遵循Servlet規(guī)范標(biāo)準(zhǔn)的配置文件,用于配置servlet,并為所有的Web應(yīng)用程序提供默認(rèn)配置信息 tomcat-user.xml:?用戶認(rèn)證時(shí)用到的相關(guān)角色、用戶和密碼等信息 context.xml:?????所有host的默認(rèn)配置信息 catalina.policy?:?Java相關(guān)的安全策略配置文件,在系統(tǒng)資源級(jí)別上提供訪問(wèn)控制的能力; catalina.properties:?Tomcat內(nèi)部package的定義及訪問(wèn)相關(guān)的控制 logging.properties:??日志記錄相關(guān)的配置信息
webapps目錄:
docs:幫助文檔
examples:配置示例
host-manager:虛擬主機(jī)管理
manager:tomcat管理
ROOT:默認(rèn)訪問(wèn)目錄
每個(gè)應(yīng)用程序目錄下都有幾個(gè)同樣的目錄
WEB-INF:當(dāng)前webapp的私有資源,通常存放當(dāng)前webapp的web.xml文件
META-INF:當(dāng)前webapp的私有資源,通常存放當(dāng)前webapp的context.xml文件
classes:當(dāng)前webapp的私有類(lèi)
lib:當(dāng)前webapp的私有類(lèi),打包為jar格式
index.jpg:當(dāng)前webapp的首頁(yè)
webapp部署:
? ?冷部署:把webapp復(fù)制的指定目錄之后才啟動(dòng)tomcat
熱部署:在不停止tomcat的前提下部署webapp
? 部署工具:manager
反部署:停止webapp并從tomcat實(shí)例拆除其部分文件和部署名
stop:停止webapp,不向用戶提供服務(wù)
start:啟動(dòng)停止?fàn)顟B(tài)大webapp
redeploy:重新部署
catalina.sh???????#tomcat/bin/catalina.sh命令路徑 start?????????????#啟動(dòng)tomcat start?-security???#以安全方式啟動(dòng)tomcat stop??????????#停止tomcat stop?n????????#指定多少秒之后停止tomcat,默認(rèn)為5秒 stop?-force?????#強(qiáng)制停止tomcat stop?n?-force???#指定多少秒之后強(qiáng)制停止tomcat,默認(rèn)為5秒 configtest?????#測(cè)試配置文件語(yǔ)法 version???????#查看版本信息
tomcat配置:
創(chuàng)建測(cè)試webapp:
mkdir -pv /usr/local/tomcat/webapps/myapp/{WEB-INF,META-INF,classes,lib} ?#創(chuàng)建相關(guān)目錄
vim /usr/local/tomcat/webapps/myapp/index.jsp #創(chuàng)建測(cè)試首頁(yè)
????<html><body> <center>Now?time?is:?<%=new?java.util.Date()%> </center></body></html>
http://18.18.23.109:8080/myapp/ #如果能看見(jiàn)當(dāng)前時(shí)間則證明tomcat測(cè)試成功
配置管理后臺(tái):
vim /usr/local/tomcat/conf/tomcat-users.xml
<tomcat-users> <role?rolename="manager-gui"/>#狀態(tài)管理接口 <role?rolename="admin-gui"/>#虛擬主機(jī)管理接口 <user?username="tomcat"?password="123.com"?roles="manager-gui,admin-gui"/>#用戶,密碼,調(diào)用接口 </tomcat-users>
? 虛擬主機(jī)配置:
<Host?name="www.test.com"??unpackWARs="true"?appBase="/data/webapps/"?autoDeploy="false"?><Context?path=""?docBase="/data/webapps/"?reloadable="true"?/><Valve?className="org.apache.catalina.valves.AccessLogValve"?directory="/data/logs"prefix="www.tomcat.com_log."?suffix=".txt"pattern="%h?%l?%u?%t?"%r"?%s?%b"?/></Host>? ? ?host:name="主機(jī)名"? unpackWARs="是否自動(dòng)展開(kāi)WAR文檔"? appBase="網(wǎng)站根目錄"? autoDeploy="是否自動(dòng)部署,建議為false"
? ? context:path="訪問(wèn)時(shí)使用的路徑" docBase="網(wǎng)頁(yè)路徑"? reloadable="是否自動(dòng)重載"? ? ? ? ? ? ?
? ? Valve:directory="日志存放路徑"? prefix="日志名和后綴名"? pattern="日志記錄格式"
轉(zhuǎn)載于:https://blog.51cto.com/liyuanjie/2151948
總結(jié)
以上是生活随笔為你收集整理的tomcat服务组件详解(二)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Confluence 6 配置系统属性
- 下一篇: bash快捷键介绍