Tomcat服務器配置詳解

Tomcat服務器是一個免費的開源web應用服務器,屬於輕量級應用服務器,在中小型系統和併發用戶不是不少的場合中被廣泛使用,是開發和測試JSP程序的首選。通常來講,Tomcat雖然和apache或者Nginx這些web服務器同樣,具備處理HTML頁面的功能,然而因爲其處理靜態頁面的能力遠不如apache或者Nginx,因此Tomcat通常是做爲一個servlet和JSP容器,單獨運行在後端。html

關於Tomcat服務器的部署過程及應用環境,請參考博文https://blog.51cto.com/14227204/2436201java

關於Tomcat的配置文件的做用及相關說明:
在安裝Tomcat以前必須安裝JDK,JDK是sun公司免費提供的Java語言的軟件開發工具包,其中包含Java虛擬機(JVM)。編寫好的Java源程序通過編譯可造成Java字節碼,只要安裝了JDK就能夠利用JVM解釋這些字碼文件,從而保證Java的跨平臺性。web

在平臺兼容性方面,JDK做爲解釋字節碼文件並據此調用操做系統的API實現對應功能的Java虛擬機,與操做系統類型和平臺位數密切相關,所以存在不一樣類型的版本,而Tomcat也具備這些特徵,默認狀況下JDK已經安裝,能夠使用以下命令檢查JDK是否安裝:apache

[root@localhost ~]# java -version    #查看JDK是否安裝,如果沒有,須要自行安裝
openjdk version "1.8.0_161"
OpenJDK Runtime Environment (build 1.8.0_161-b14)
OpenJDK 64-Bit Server VM (build 25.161-b14, mixed mode)

主要的目錄說明:vim

[root@localhost ~]# cd /usr/local/tomcat8/         #切換至Tomcat目錄
[root@localhost tomcat8]# ll                   #查看目錄下全部內容
總用量 92
drwxr-x--- 2 root root  4096 6月  22 20:08 bin             
#存放Windows或Linux平臺上啓動和關閉Tomcat的腳本文件
drwx------ 2 root root   238 6月  22 2017 conf
#存放Tomcat服務器的各類全局配置文件,其中最重要的是server.xml和web.xml
drwxr-x--- 2 root root  4096 6月  22 20:08 lib
#存放Tomcat運行須要的庫文件
-rw-r----- 1 root root 57092 6月  22 2017 LICENSE
drwxr-x--- 2 root root     6 6月  22 2017 logs
#存放Tomcat執行時的log文件
-rw-r----- 1 root root  1723 6月  22 2017 NOTICE
-rw-r----- 1 root root  7064 6月  22 2017 RELEASE-NOTES
-rw-r----- 1 root root 15946 6月  22 2017 RUNNING.txt
drwxr-x--- 2 root root    30 6月  22 20:08 temp
drwxr-x--- 7 root root    81 6月  22 2017 webapps
#Tomcat的主要web發佈目錄(包括應用程序示例)。
drwxr-x--- 2 root root     6 6月  22 2017 work
#存放JSP編譯後產生的class文件。

配置文件說明:後端

[root@localhost tomcat8]# ll conf      #查看conf目錄下的內容
總用量 224
-rw------- 1 root root  13816 6月  22 2017 catalina.policy              #權限控制配置文件
-rw------- 1 root root   7376 6月  22 2017 catalina.properties        #Tomcat屬性配置文件
-rw------- 1 root root   1338 6月  22 2017 context.xml                   #上下文配置文件
-rw------- 1 root root   1149 6月  22 2017 jaspic-providers.xml
-rw------- 1 root root   2358 6月  22 2017 jaspic-providers.xsd
-rw------- 1 root root   3622 6月  22 2017 logging.properties         #日誌log相關配置文件
-rw------- 1 root root   7511 6月  22 2017 server.xml                     #主配置文件
-rw------- 1 root root   2164 6月  22 2017 tomcat-users.xml          #manager-gui管理配置文件
#Tomcat安裝後默認提供一個manager管理界面,經過配置該文件能夠開啓訪問。
-rw------- 1 root root   2633 6月  22 2017 tomcat-users.xsd
-rw------- 1 root root 168251 6月  22 2017 web.xml

Tomcat主配置文件說明:
server.xml爲Tomcat的主要配置文件,經過配置該文件,能夠修改Tomcat的啓動端口、網站目錄、虛擬主機、開啓https等重要功能。tomcat

整個server.xml由如下結構構成:<Server>、<Service>、<Connector /><Engine >、<Host>、<Context>、</Context></Host></Engine></Service>和</Server>。服務器

如下是默認安裝server.xml文件的部份內容:網絡

[root@localhost tomcat8]# vim conf/server.xml
<?xml version="1.0" encoding="UTF-8"?>
............                                  #省略部份內容
<Server port="8005" shutdown="SHUTDOWN">                
#Tomcat關閉端口,默認只對本機地址開放,能夠在本機經過Telnet  127.0.0.1 8005訪問,
#對Tomcat進行關閉操做
............                                  #省略部份內容
 <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
#Tomcat啓動的默認端口號8080,能夠根據須要進行更改。
............                                  #省略部份內容
 <!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
#Tomcat啓動AJP 1.3鏈接器時默認的端口號,能夠根據須要進行更改
............                                  #省略部份內容
#如下爲Tomcat定義虛擬主機時的配置及日誌配置
<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

        <!-- SingleSignOn valve, share authentication between web applications
             Documentation at: /docs/config/valve.html -->
        <!--
        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
        -->

        <!-- Access log processes all example.
             Documentation at: /docs/config/valve.html
             Note: The pattern used is equivalent to using pattern="common" -->
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t "%r" %s %b" />

      </Host>
    </Engine>
  </Service>
</Server>

Tomcat server的組成部分說明:
Server併發

server元素表明了整個CatAlina的servlet容器。

Service

Service是這樣一個集合:它由一個或者多個Connector,以及一個Engine(負責處理全部Connector所得到的客戶請求)組成。

Connector

一個Connector在某個指定端口上偵聽客戶請求,並將得到的請求交給Engine來處理,從Engine處得到迴應並返回客戶。

Tomcat有兩個典型的Connector,一個直接偵聽來自browser的http請求,一個偵聽來自其餘webserver的請求。

 Coyote  HTTP/1.1  Connector在端口8080處偵聽來自客戶browser(瀏覽)的http請求。

 Coyote  JK2   Connector 在端口8009處偵聽來自其餘文本server(Apache)的servlet/jsp代理請求。

Engine:

Engine下能夠配置多個虛擬主機virtual host,每一個虛擬主機都有一個域名。

當Engine得到一個請求時,它把該請求匹配到某個Host上,而後把該請求交給該host來處理。

Engine有一個默認虛擬主機,當請求沒法匹配到任何一個host上時,將交給該默認主機處理。

Host

Host表明一個virtual Host(虛擬主機),每一個虛擬主機和某個網絡域名Domain Name相匹配。

每一個虛擬主機下均可以部署一個或多個web app,每一個web app對應一個Context,有一個Context path。

當host得到一個請求時,將把該請求匹配到某個Context上,而後把該請求交給該Context來處理,匹配的方法是「最長匹配」,因此一個path==""的Context將成爲該Host的默認Context。
全部沒法和其餘Context的路徑名匹配的請求都將最終和該默認Context匹配。

Context

一個Context對應一個web application ,一個web application由一個或者多個servlet組成。

相關文章
相關標籤/搜索