Tomcat: Tomcat系列之組件詳解及服務安裝配置

Tomcat系列之組件詳解及服務安裝配置


Servlet是一種CGI技術,任何程序的修改都會重新編譯。

引進jsp, 是得java可以嵌套到html中,jasper可以將

Jsp裝成java,依賴servletcontainer。

 

Engine: 就是一個servlet container的實現,一個server可以有多個engine,

所以必須有一個組件把server和engine連接起來,這就connector.

Connector有很多種。

Connector: 一個server有多個engine,server怎麼判斷接受到的請求發送那個engine呢?所以,需要連接器,負責連接server和engine, 有http連接器,jpa連接器

Tomcat內部有一個web服務器,可以功能在在80端口;

Servlet contianer具有servlet功能的JVM

Service:  一個server可以通過多個連接器(http,jps)關聯到同一個engine,同時一個又可以有多個引擎,那怎麼定義一個server關聯到engine?service出現的主要

目的就是講server通過

主要目的將一個或者多個連接器關聯到某engine,一個service內部最多隻能

有一個引擎。

Server: 每一個server就是一個tomcat的實例,server解碼http請求,

方向用戶請求的是http請求的頁面,需要調用jasper,這些都是

有Engine完成。




Server是頂級組件。

Service:普通組件,關聯conector到engine

Engine: 容器組件,能解碼jasper和執行servlet的

Host: 容器組件,在engine內部實現虛擬主機的,一個engine可以

有多個虛擬主機,必須指定一個默認主機

Context: 容器類組件,context定義在host, 每一個context都可以

部署一個程序的,描述程序怎麼部署

 

容器組件:Engine,Host,Context

頂級組件:Server,service

 

Realm: 用戶賬戶數據庫

Valva: 領域,說白就是一個數據庫,能實現數據庫的認證,

基於訪問日誌可以用valva實現,基於IP認證可以用valva實現



Tomcat還有更多的其他組件:

Tomcat.xml

Apache的mod_proxy和mod_jk都可以實現反向代理,

都支持支持集羣。

Mod_proxy: 能以二進制方式發往後方(使用ajp協議),這是

使用apache的好處,效率高,但Nginx只能使用http請求的方式。

 

 

 

Nginx: 以http請求發送到後方(使用http協議),自己實現

某種算法,分發請求;也可以實現動靜分離。

 

Apache和tomcat實現負載均衡,apache要工作在

反向代理模式,apache可以根據流量,後端服務器的

健康狀況來轉發,並通過web接口提供頁面啓用和禁用

服務器。

 

Server.xml配置解釋:

Tomcat各組件間的關係:

<server>

      <service>

             <conector />

      <Engine>

           <host>

                                  <context></context>

           </host>

     </Engine>

  <service>

</server>

先配置好JDK、

Tomcat是javax寫的

Tomcat目錄結構:

/bin: 自帶命令,catalina.sh(核心腳本)

/conf: 配置文件,

tomcat啓動會讀入tomcat_users.xml,完成用戶認證

      Web.xml默認應用程序部署描述符

      部署:將一個web應用程序依賴的類裝載進JVM

      Context.xml: 爲上下文提供的描述文件

      Catalina.propeties定義tomcat自身的屬性

      Loging.properties定義日誌配置屬性

      Catalina.policy定義tomcat自身的安全策略的,定義哪些資源可以通過互聯網被訪問

      通常修改的文件只有xml.

Vim server.conf //用vim可以語法着色的

聲明tomcat的目錄:

Export CATALINA_HOME=/usr/local/tomcat

要永久有效:

Vim /etc/profile.d/tomcat.sh

Export CATALINA_HOME=/usr/local/tomcat

Export  PATH=$PATH:$CATALINA_HOME/bin

 

Catalina.sh version

Catalina.sh start //啓動

 

Netstat –tnlp  //查看端口是否被監聽

 

/lib  依賴庫,jasper.jar, servlet-api.jar

/logs 訪問日誌

     Catalina.out//正在使用的文件

 

/temp 臨時文件目錄

/webapp 應用程序目錄

/work 工作目錄,每一個engine都有自己獨立目錄,在這個engine下每一個主機

都有自己的工作目錄,每個主機下每個應用程序都有自己目錄(每一個JSP要轉成java,java又要轉成class,這就是工作區間)

 

可以啓動寫一個簡單的腳本,用來啓動tomcat:

Vim /etc/rc.d/init.d/tomcat

//此處寫啓動tomcat腳本

 

Chmod  +x/etc/rc.d/init.d/tomcat

Chkconfig   --add tomcat

Chkconfig   --list tomcat

Service tomcat stop

Service tomcat start

 

檢測tomcat配置是否有錯:

#Service tomcat configtest

 



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