tomcat服務組件詳解(二)


Tomcat的架構:

頂級組件: 
    位於配置層次的頂級,並且彼此間有着嚴格的對應關係
連接器: 
    連接客戶端(可以是瀏覽器或Web服務器)請求至Servlet容器
容器:  
    包含一組其它組件
被嵌套的組件:
    位於一個容器當中,但不能包含其它組件

各常見組件:

服務器(server):
   Tomcat的一個實例,通常一個JVM只能包含一個Tomcat實例
服務(service):
   一個服務組件通常包含一個引擎和與此引擎相關聯的一個或多個連接器。
   給服務命名可以方便管理員在日誌文件中識別不同服務產生的日誌。一個server可以包含多個service組件,但通常情下只爲一個service指派一個server


連接器類組件:

連接器(connectors): 負責連接客戶端請求至Servlet容器內的Web應用程序,通常指的是接收客戶發來請求的位置及服務器端分配的端口。
默認端口通常是HTTP協議的8080,一個引擎可以配置多個連接器,但這些連接器必須使用不同的端口。默認的連接器是基於HTTP/1.1的Coyote


容器類組件:

引擎(Engine):
    引擎是指處理請求的Servlet引擎組件,它檢查每請求的HTTP首部信息以辨別請求應該發往哪個host或context,並將請求處理後的結果返回的相應的客戶端
主機(Host):
    主機組件類似於Apache中的虛擬主機,但在Tomcat中只支持基於FQDN的“虛擬主機”。一個引擎至少要包含一個主機
上下文(Context):
    Context組件是最內層次的組件,它表示Web應用程序本身。配置一個Context最主要的是指定Web應用程序的根目錄,以便Servlet容器能夠將用戶請求發往正確的位置


tomcat目錄結構:

bin:  可執行腳本
conf: 配置文件
lib:  運行時依賴的庫文件
logs: 日誌文件
webapps: web應用所在目錄,web資源的存放目錄
work: tomcat的工作目錄


conf目錄:

server.xml:   Tomcat的主配置文件,包含Service, Connector, Engine, Realm, Valve, Hosts主組件的相關配置信息
web.xml:   遵循Servlet規範標準的配置文件,用於配置servlet,併爲所有的Web應用程序提供默認配置信息
tomcat-user.xml: 用戶認證時用到的相關角色、用戶和密碼等信息
context.xml:     所有host的默認配置信息
catalina.policy : Java相關的安全策略配置文件,在系統資源級別上提供訪問控制的能力;
catalina.properties: Tomcat內部package的定義及訪問相關的控制
logging.properties:  日誌記錄相關的配置信息


webapps目錄:

docs:幫助文檔

examples:配置示例

host-manager:虛擬主機管理

manager:tomcat管理

ROOT:默認訪問目錄

每個應用程序目錄下都有幾個同樣的目錄

WEB-INF:當前webapp的私有資源,通常存放當前webapp的web.xml文件

META-INF:當前webapp的私有資源,通常存放當前webapp的context.xml文件

classes:當前webapp的私有類

lib:當前webapp的私有類,打包爲jar格式

index.jpg:當前webapp的首頁

webapp部署:

   冷部署:把webapp複製的指定目錄之後才啓動tomcat

熱部署:在不停止tomcat的前提下部署webapp

  部署工具:manager

反部署:停止webapp並從tomcat實例拆除其部分文件和部署名

stop:停止webapp,不向用戶提供服務

start:啓動停止狀態大webapp

redeploy:重新部署

catalina.sh       #tomcat/bin/catalina.sh命令路徑
start             #啓動tomcat
start -security   #以安全方式啓動tomcat
stop          #停止tomcat
stop n        #指定多少秒之後停止tomcat,默認爲5秒
stop -force     #強制停止tomcat
stop n -force   #指定多少秒之後強制停止tomcat,默認爲5秒
configtest     #測試配置文件語法
version       #查看版本信息


tomcat配置:

創建測試webapp:

mkdir -pv /usr/local/tomcat/webapps/myapp/{WEB-INF,META-INF,classes,lib}  #創建相關目錄

vim /usr/local/tomcat/webapps/myapp/index.jsp #創建測試首頁

    <html>
  <body>
<center>
  Now time is: <%=new java.util.Date()%>
</center>
  </body>
    </html>

http://18.18.23.109:8080/myapp/ #如果能看見當前時間則證明tomcat測試成功


配置管理後臺:

vim /usr/local/tomcat/conf/tomcat-users.xml

<tomcat-users>
<role rolename="manager-gui"/>#狀態管理接口
<role rolename="admin-gui"/>#虛擬主機管理接口
<user username="tomcat" password="123.com" roles="manager-gui,admin-gui"/>#用戶,密碼,調用接口
</tomcat-users>


  虛擬主機配置:

<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 &quot;%r&quot; %s %b" />
        </Host>

     host:name="主機名"  unpackWARs="是否自動展開WAR文檔"  appBase="網站根目錄"  autoDeploy="是否自動部署,建議爲false"

    context:path="訪問時使用的路徑" docBase="網頁路徑"  reloadable="是否自動重載"             

    Valve:directory="日誌存放路徑"  prefix="日誌名和後綴名"  pattern="日誌記錄格式"



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章