一.案例:部署Tomcat
1.案例分析
1.1案例概述
京北點指科技有限公司發布V3版移聯建站管理系統,該項目為Java 語言開發的Web 站點。目前,IBM 的 WebSphere 及 0racle 的 WebLogic 占據了市面上 Java 語言 Web 站點的大部分份額。這兩種軟件以其無與倫比的性能及可靠性等優勢被廣泛應用于大型互聯網公司 的 Web 場景中,但是其高昂的價格也使得小型互聯網公司對此望而卻步。
Tomcat 自 5.x版本以來,其性能上已經得到了大幅的提升,再加上其開放性的框架和 可二次開發等特性,已經完全可以用在訪問量不是很大的生產環境下。 目前,大多數用于 JSP 技術開發的電子商務網站基本應用了Tomcat,而且 Tomcat 的Servlet 和JSP這兩種 API 也完全可以適用于 V3 版移聯建站管理系統。
1.2案例前置知識點
(1)Tomcat 簡介
名稱由來:Tomcat 最初是由Sun 的軟件構架師詹姆斯·鄧肯·戴維森開發的。后來他幫助將其變為開源項目,并由Sun 貢獻給 Apache 軟件基金會。由于大部分開源項目0’Reilly 都會出一本相關的書,并且將其封面設計成某個動物的素描,因此他希望將此項目以一個動物的名字命名。因為他希望這種動物能夠自己照顧自己,最終,他將其命名為 Tomcat(公貓)。而 0’Reilly 出版的介紹 Tomcat 的書籍的封面也被設計成了一個公貓的形象。而 Tomcat 的 Logo 兼吉祥物也被設計成了一只公貓。
其實 Tomcat 在開始研發的時候并不叫這個名字,早期Tomcat 項目的名字叫Catalina,所以當我們安裝完 Tomcat 后會發現安裝路徑下面有很多和 Catalina 有關的目錄和文件,而這些文件通常也是我們使用或者配置Tomcat 的重要文件。
(2)應用場景
Tomcat 服務器是一個免費的開放源代碼的Web應用服務器,屬于輕量級應用服務在中小型系統和并發訪問用戶不是很多的場合下被普遍使用,是開發和調試JSP器,程序的首選。 一般來說,Tomcat雖然和 Apache或者 Nginx 這些 Web 服務器一樣,具有處理 HTML頁面的功能,然而由于其處理靜態HTML的能力遠不及 Apache 或者Nginx,所以 Tomcat 通常是作 為一個 Servlet 和 JSP 容器,單獨運行在后端。
2.案例實施
2.1實施準備
(1)關閉 firewalld 防火墻。
(2)在安裝Tomcat之前必須先安裝JDK。
JDK 的全稱是 Java Development Kit,是 Sun 公司免費提供的 Java 語言的軟件開發工具包,其中包含 Java 虛擬機(JVM)。編寫好的Java 源程序經過編譯可形成Java 字節碼,只要安裝了 JDK,就可以利用 JVM 解釋這些字節碼文 件,從而保證了Java 的跨平臺性。
在平臺兼容性方面,IDK作為解釋字節碼文件并據此調用操作系統API 實現對應功Java 虛擬機,與操作系統類型和平臺位數密切相關,因此存在不同類型的版本,而Tomcat 也具有上述特征,默認情況下 JDK 已經安裝,所以需要預先下載Tomcat,本章中所使用的 Tomcat 軟件的源碼包為 apache-tomcat-9.0.8.tar.gz。
2.2查看JDK是否安裝
2.3安裝配直 Tomcat
(1)Tomcat 的安裝和配置步驟如下:
(2)解壓后生成 apache-tomcat-9.0.8文件夾,將該文件夾移動到/usr/local/下,并改名為 tomcat9。
(3)啟動 tomcat
(4)打開瀏覽器訪問測試:http://172.16.16.172:8080/,如果出現的界面,則表示Tomcat 已經啟動成功。
2.4 Tomcat 配置相關說明
(1)主要目錄說明
—bin/:存放 Windows 或 Linux 平臺上啟動和關閉 Tomcat 的腳本文件。
—conf/:存放 Tomcat 服務器的各種全局配置文件,其中最重要的是 server.xml 和web. xml.
—lib/:存放 Tomcat 運行需要的庫文件(JARS)
—logs:存放 Tomcat 執行時的 L0G 文件。
—webapps:Tomcat 的主要Web 發布目錄(包括應用程序示例)。
—work:存放JSP 編譯后產生的class 文件。
(2)配置文件說明
catalina.policy:權限控制配置文件。
catalina.properties:Tomcat 屬性配置文件。
context.xml:上下文配置文件。
logging.properties:日志log 相關配置文件。
server.xml:主配置文件。
tomcat-users.xml:manager-gui管理用戶配置文件(Tomcat安裝后提供一個manager-gui 的管理界面,通過配置該文件可以開啟訪問)。
web.xml:Tomcat 的servlet、servlet-mapping、filter、MIME 等相關配置。
2.5 Tomcat主配置文件說明
server.xml 為Tomcat 的主要配置文件,通過配置該文件,可以修改 Tomcat 的啟動端 口、網站目錄、虛擬主機、開啟 https 等重要功能。
2.6Tomcat Server 的組成部分說明
Tomcat Server 出 Server、Service、Connector、Engine、Host 和 Context 組成。(1)ServerServer 元素代表了整個Catalina的servlet 容器。
(2)Service
Service 是這樣一個集合:它由一個或者多個 Connector,以及一個 Engine(負責處理所有Connector 所獲得的客戶請求)組成。
(3)Connector
一個Connector 在某個指定端口上偵聽客戶請求,并將獲得的請求交給Engine 來處理,從Engine 處獲得回應并返回客戶。
Tomcat 有兩個典型的 Connector,一個直接偵聽來自 browser 的 http 請求,一個偵聽來自其他 WebServer 的請求。
Coyote Http/1.1 Connector 在端口 8080 處偵聽來自客戶 browser 的 http 請求:
Coyote JK2 Connector 在端口8009 處偵聽來自其他 WebServer(Apache)的servlet/jsp 代理請求。
(4)EngineEngine 下可以配置多個虛擬主機 Virtual Host,每個虛擬主機都有一個域名。當 Engine 獲得一個請求時,它把該請求匹配到某個 Host 上,然后把該請求交給該 Host來處理。
Engine 有一個默認虛擬主機,當請求無法匹配到任何一個 Host 上的時候,將交給該默認 Host 來處理。
(5)Host
Host 代表一個 Virtual Host,即虛擬主機,每個虛擬主機和某個網絡域名 DomainName 相匹配。
每個虛擬主機下都可以部署(deploy)一個或者多個Web App,每個 Web App 對應于-個Context,有一個Context path。
當 Host 獲得一個請求時,將把該請求匹配到某個Context 上,然后把該請求交給該 Context 來處理,匹配的方法是“最長匹配”,所以一個 path==""的 Context 將成為該 Host 的默認 Context。
所有無法和其他 Context 的路徑名匹配的請求都將最終和該默認 Context 匹配。
(6)Context
一個 Context 對應于一個 Web Application,一個 Web Application 由一個或者多個 Servlet 組成。
2.7建立Java的Web站點
執行下面步驟可以建立 Java 的 Web 站點。
(1)在根目錄下建立一個web目錄,并在里面建立一個webapp1目錄,用于存放網站文 件。
(2)在webapp1 目錄下建立一個 index.jsp 的測試頁面。
(3)修改Tomcat的server.xml 文件。定義一個虛擬主機,并將網站文件路徑指向已經建立的/web/webappl,在 host 段增加context 段。
(4)關閉 Tomcat,再重新啟動。
(5)確認 Web 站點
通過瀏覽器訪問 http://192.168.10.101:8080/,出現如圖 5.3 所示的頁面,說明該Tomcat 站點已經配置成功,并且已經能夠運行JSP 了。