您好,登錄后才能下訂單哦!
Tomcat服務(wù)器是一個(gè)免費(fèi)的開源web應(yīng)用服務(wù)器,屬于輕量級應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)用戶不是很多的場合中被普遍使用,是開發(fā)和測試JSP程序的首選。一般來說,Tomcat雖然和apache或者Nginx這些web服務(wù)器一樣,具有處理HTML頁面的功能,然而由于其處理靜態(tài)頁面的能力遠(yuǎn)不如apache或者Nginx,所以Tomcat一般是作為一個(gè)servlet和JSP容器,單獨(dú)運(yùn)行在后端。
關(guān)于Tomcat服務(wù)器的部署過程及應(yīng)用環(huán)境,請參考博文:https://blog.51cto.com/14154700/2412180 。
這篇博文主要來聊一聊關(guān)于Tomcat的配置文件的作用及相關(guān)說明。
在安裝Tomcat之前必須安裝JDK,JDK是sun公司免費(fèi)提供的Java語言的軟件開發(fā)工具包,其中包含Java虛擬機(jī)(JVM)。編寫好的Java源程序經(jīng)過編譯可形成Java字節(jié)碼,只要安裝了JDK就可以利用JVM解釋這些字碼文件,從而保證Java的跨平臺性。
在平臺兼容性方面,JDK作為解釋字節(jié)碼文件并據(jù)此調(diào)用操作系統(tǒng)的API實(shí)現(xiàn)對應(yīng)功能的Java虛擬機(jī),與操作系統(tǒng)類型和平臺位數(shù)密切相關(guān),因此存在不同類型的版本,而Tomcat也具有這些特征,默認(rèn)情況下JDK已經(jīng)安裝,可以使用如下命令檢查JDK是否安裝:
[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)
Tomcat的配置過程不是這篇博文要說的,上面已經(jīng)給出了配置過程的博文鏈接,若有需要,可以參考那篇博文,現(xiàn)在來聊一聊它的配置文件說明:
1、主要的目錄說明:
[root@localhost ~]# cd /usr/local/tomcat8/ #切換至Tomcat目錄
[root@localhost tomcat8]# ll #查看目錄下所有內(nèi)容
總用量 92
drwxr-x--- 2 root root 4096 6月 22 20:08 bin
#存放Windows或Linux平臺上啟動(dòng)和關(guān)閉Tomcat的腳本文件
drwx------ 2 root root 238 6月 22 2017 conf
#存放Tomcat服務(wù)器的各種全局配置文件,其中最重要的是server.xml和web.xml
drwxr-x--- 2 root root 4096 6月 22 20:08 lib
#存放Tomcat運(yùn)行需要的庫文件
-rw-r----- 1 root root 57092 6月 22 2017 LICENSE
drwxr-x--- 2 root root 6 6月 22 2017 logs
#存放Tomcat執(zhí)行時(shí)的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發(fā)布目錄(包括應(yīng)用程序示例)。
drwxr-x--- 2 root root 6 6月 22 2017 work
#存放JSP編譯后產(chǎn)生的class文件。
2、配置文件說明:
[root@localhost tomcat8]# ll conf #查看conf目錄下的內(nèi)容
總用量 224
-rw------- 1 root root 13816 6月 22 2017 catalina.policy #權(quán)限控制配置文件
-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相關(guān)配置文件
-rw------- 1 root root 7511 6月 22 2017 server.xml #主配置文件
-rw------- 1 root root 2164 6月 22 2017 tomcat-users.xml #manager-gui管理配置文件
#Tomcat安裝后默認(rèn)提供一個(gè)manager管理界面,通過配置該文件可以開啟訪問。
-rw------- 1 root root 2633 6月 22 2017 tomcat-users.xsd
-rw------- 1 root root 168251 6月 22 2017 web.xml
3、Tomcat主配置文件說明:
server.xml為Tomcat的主要配置文件,通過配置該文件,可以修改Tomcat的啟動(dòng)端口、網(wǎng)站目錄、虛擬主機(jī)、開啟https等重要功能。
整個(gè)server.xml由以下結(jié)構(gòu)構(gòu)成:<Server>、<Service>、<Connector /><Engine >、<Host>、<Context>、</Context></Host></Engine></Service>和</Server>。
以下是默認(rèn)安裝server.xml文件的部分內(nèi)容,其中<!-- -->內(nèi)的內(nèi)容時(shí)注釋信息。#號開頭是我寫的說明:
[root@localhost tomcat8]# vim conf/server.xml
<?xml version="1.0" encoding="UTF-8"?>
............ #省略部分內(nèi)容
<Server port="8005" shutdown="SHUTDOWN">
#Tomcat關(guān)閉端口,默認(rèn)只對本機(jī)地址開放,可以在本機(jī)通過Telnet 127.0.0.1 8005訪問,
#對Tomcat進(jìn)行關(guān)閉操作
............ #省略部分內(nèi)容
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
#Tomcat啟動(dòng)的默認(rèn)端口號8080,可以根據(jù)需要進(jìn)行更改。
............ #省略部分內(nèi)容
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
#Tomcat啟動(dòng)AJP 1.3連接器時(shí)默認(rèn)的端口號,可以根據(jù)需要進(jìn)行更改
............ #省略部分內(nèi)容
#以下為Tomcat定義虛擬主機(jī)時(shí)的配置及日志配置
<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>
4、Tomcat server的組成部分說明:
①Server
server元素代表了整個(gè)CatAlina的servlet容器。
②Service
Service是這樣一個(gè)集合:它由一個(gè)或者多個(gè)Connector,以及一個(gè)Engine(負(fù)責(zé)處理所有Connector所獲得的客戶請求)組成。
③Connector
一個(gè)Connector在某個(gè)指定端口上偵聽客戶請求,并將獲得的請求交給Engine來處理,從Engine處獲得回應(yīng)并返回客戶。
Tomcat有兩個(gè)典型的Connector,一個(gè)直接偵聽來自browser的http請求,一個(gè)偵聽來自其他webserver的請求。
Coyote HTTP/1.1 Connector在端口8080處偵聽來自客戶browser(瀏覽)的http請求。
Coyote JK2 Connector 在端口8009處偵聽來自其他文本server(Apache)的servlet/jsp代理請求。
④Engine:
Engine下可以配置多個(gè)虛擬主機(jī)virtual host,每個(gè)虛擬主機(jī)都有一個(gè)域名。
當(dāng)Engine獲得一個(gè)請求時(shí),它把該請求匹配到某個(gè)Host上,然后把該請求交給該host來處理。
Engine有一個(gè)默認(rèn)虛擬主機(jī),當(dāng)請求無法匹配到任何一個(gè)host上時(shí),將交給該默認(rèn)主機(jī)處理。
⑤Host
Host代表一個(gè)virtual Host(虛擬主機(jī)),每個(gè)虛擬主機(jī)和某個(gè)網(wǎng)絡(luò)域名Domain Name相匹配。
每個(gè)虛擬主機(jī)下都可以部署一個(gè)或多個(gè)web app,每個(gè)web app對應(yīng)一個(gè)Context,有一個(gè)Context path。
當(dāng)host獲得一個(gè)請求時(shí),將把該請求匹配到某個(gè)Context上,然后把該請求交給該Context來處理,匹配的方法是“最長匹配”,所以一個(gè)path==""的Context將成為該Host的默認(rèn)Context。
所有無法和其他Context的路徑名匹配的請求都將最終和該默認(rèn)Context匹配。
⑥Context
一個(gè)Context對應(yīng)一個(gè)web application ,一個(gè)web application由一個(gè)或者多個(gè)servlet組成。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。