目錄
一,部署Tomcat
1,案例概述
2,案例前置知識點
(1)Tomcat簡介
(2)應用場景
3,案例實施
3.1,實施準備
(1)關閉firewalld防火墻
(2)在安裝Tomcat之前必須先安裝JDK
3.2,查看JDK是否安裝
3.3,安裝配置Tomcat
(1)Tomcat的安裝和配置步驟
?編輯
3.4,Tomcat配置相關說明
(1)主要目錄說明
(2)配置文件說明
3.5,Tomcat主配置文件說明
3.6,Tomcat Server的組成部分說明
(1)Server
(2)Service
(3)Connector
(4)Engine
(5)Host
(6)Context
3.7,建立Java的web站點
(1)在根目錄下建立一個web目錄,并在里面建立一個webapp1 目錄,用于存放網站文件。
二,案例Nginx+Tomcat
1,安裝Nginx(略)
2,修改配置文件
一,部署Tomcat
1,案例概述
京北點指科技有限公司發布V3版移聯建站管理系統,該項目為Java語開發的Web站點。目前,BM的WebSphere及Oracle的WebLogic 占據了市面上Java語言Web站點的大部分份額。這兩種軟件以其無與倫比的性能及可靠性等優勢被廣泛應用于大型互聯網公司的Web場景中,但是其高昂的價格也使得小型互聯網公司對此而卻步。
Tomcat自5.x版本以來,其性能上已經得到了大幅的提升,再加上其開放性的框架和可二次開發等特性,已經完全可以用在訪問量不是很大的生產環境下。目前,大多數用于JSP技術開發的電子商務網站基本應用了Tomcat,而且Tomcat的Servlet和JSP這兩種API也完全可以適用于V3版移聯建站管理系統。
2,案例前置知識點
(1)Tomcat簡介
名稱由來:Tomcat最初是由Sun的軟件構架師詹姆斯·鄧肯·戴維森開發的。后來他幫助將其變為開源項目,并由Sun貢獻給Apache軟件基金會。由于大部分開源項目0'Reilly都會出一本相關的書,并且將其封面設計成某個動物的素描,因此他希望將此項目以一個動物的名字命名。因為他希望這種動物能夠自己照顧自己,最終,他將其命名為Tomcat(公貓)。而0'Reilly出版的介紹Tomcat 的書籍的封面也被設計成了一個公貓的形象。而Tomcat的Logo兼吉祥物也被設計成了一只公貓。
其實Tomcat在開始研發的時候并不叫這個名字,早期Tomcat 項目的名字叫Catalina,所以當我們安裝完Tomcat后會發現安裝路徑下面有很多和Catalina有關的目錄和文件,而這些文件通常也是我們使用或者配置Tomcat 的重要文件。
(2)應用場景
Tomcat服務器是一個免費的開放源代碼的Web應用服務器,屬于輕量級應用服務在中小型系統和并發訪問用戶不是很多的場合下被普遍使用,是開發和調試JSPa!程序的首選。一般來說,Tomcat雖然和Apache或者Nginx這些Web服務器一樣,具有處理HTML頁面的功能,然而由于其處理靜態HTML的能力遠不及Apache或者所以Tomcat通常是作為一個Servlet和JSP容器,單獨運行在后端,如Nginx,圖 5.1 所示。
3,案例實施
3.1,實施準備
(1)關閉firewalld防火墻
systemctl stop firewalld
setenforce 0
(2)在安裝Tomcat之前必須先安裝JDK
JDK的全稱是JavaDevelopment Kit,是Sun 公司免費提供的 Java 語言的軟件開發工具包,其中包含Java虛擬機(JVM)。編寫好的Java 源程序經過編譯可形成Java字節碼,只要安裝了JDK,就可以利用JVM解釋這些字節碼文 件,從而保證了Java 的跨平臺性。
在平臺兼容性方面,JDK作為解釋字節碼文件并據此調用操作系統API實現對應功Java 虛擬機,與操作系統類型和平臺位數密切相關,因此存在不同類型的版本,而Tomcat 也具有上述特征,默認情況下JDK已經安裝,所以需要預先下載Tomcat,本章中所使用的 Tomcat 軟件的源碼包為 apache-tomcat-9.0.8.tar.gz。
3.2,查看JDK是否安裝
java -version
3.3,安裝配置Tomcat
(1)Tomcat的安裝和配置步驟
tar xf apache-tomcat-9.0.8.tar.gz
mv apache-tomcat-9.0.8/ /usr/local/tomcat
cd /usr/local/tomcat/bin/startup.sh
netstat -anpt | grep 8080
3.4,Tomcat配置相關說明
ll /usr/local/tomcat/
(1)主要目錄說明
bin/:存放Windows或Linux平臺上啟動和關閉Tomcat 的腳本文件。
conf/:存放Tomcat服務器的各種全局配置文件,其中最重要的是server.xml 和
web.xml.
lib/:存放Tomcat運行需要的庫文件(JARS)。
logs:存放Tomcat 執行時的LOG文件。
webapps:Tomcat的主要Web發布目錄(包括應用程序樂例)-
work:存放JSP編譯后產生的class文件。
(2)配置文件說明
執行“11conf/”命令,便可看到配置文件清單。
ll /usr/local/tomcat/conf
catalina.policy: | 權限控制配置文件。 |
catalina.properties: | Tomcat 屬性配置文件: |
context.xml: | 上下文配置文件。 |
logging.properties: | 日志log 相關配置文件。 |
server.xml: | 主配置文件。 |
tomcat-users.xml: | manager-gui管理用戶配置文件(Tomcat安裝后提供一個managergui 的管理界面,通過配置該文件可以開啟訪問)。 |
web.xml: | Tomcat的servlet、servlet-mapping、filter、MIE 等相關配置 |
3.5,Tomcat主配置文件說明
server.xml為Tomcat的主要配置文件,通過配置該文件,可以修改Tomcat的啟動端 口、網站目錄、虛擬主機、開啟 https 等重要功能。
整個 server.xml 由以下結構構成:<Server>、<Service>、<Connector />、<Engine><Host>、<Context>、</Context〉、</Host〉、</Engine〉、</Service>和</Server>以下是默認安裝后server.xml文件的部分內容,其中<!---->內的內容是注釋信息,黑色斜體部分是需要注意和需要經常更改的部分。
3.6,Tomcat Server的組成部分說明
Tomcat Server 由Server、Service、Connector、Engine、Host和Context 組成。
(1)Server
Server元素代表了整個Catalina的servlet容器
(2)Service
Service 是這樣一個集合:它由一個或者多個Connector,以及一個Engine(負責處理所有Connector所獲得的客戶請求)組成。
(3)Connector
一個Connector在某個指定端口上偵聽客戶請求,并將獲得的請求交給Engine來處理,從Engine 處獲得回應并返回客戶。
Tomcat有兩個典型的Connector,一個直接偵聽來自browser的http請求,一個偵聽來自其他WebServer 的請求。
Coyote Http/1.1Connector在端囗8080處偵聽來自客戶browser的http 請求
(4)Engine
Engine 下可以配置多個虛擬主機Virtual Host,每個虛擬主機都有一個域名。當Engine 獲得一個請求時,它把該請求匹配到某個Host上,然后把該請求交給該 Host來處理。
Engine 有一個默認虛擬主機,當請求無法匹配到任何一個Host上的時候,將交給該默認 Host 來處理。
(5)Host
Host代表一個 VirtualHost,即虛擬主機,每個虛擬主機和某個網絡域名 DomainName 相匹配。
每個虛擬主機下都可以部署(deploy)一個或者多個WebApp,每個WebApp 對應于個Context,有一個Context path。
當Host獲得一個請求時,將把該請求匹配到某個Context上,然后把該請求交給該Context來處理,匹配的方法是“最長匹配”,所以一個path==""的Context將成為該 Host 的默認 Context。所有無法和其他Context的路徑名匹配的請求都將最終和該默認Context 匹配
(6)Context
一個 Context 對應于一個 Web Application,一個Web Application 由一個或者多個 Servlet 組成。
3.7,建立Java的web站點
執行下面步驟可以建立Java的web 站點:
(1)在根目錄下建立一個web目錄,并在里面建立一個webapp1 目錄,用于存放網站文件。
mkdir /web/webappl
vim /web/webapp1/index.jsp
vim /usr/local/tomcat/conf/server.xml
/usr/local/tomcat/bin/shutdown.sh
/usr/local/tomcat/bin/startup.sh
二,案例Nginx+Tomcat
通常情況下,一臺Tomcat站點由于可能出現單點故障及無法應付過多客戶復雜多樣的請求等問題,不能單獨應用于生產環境下,所以需要一套更可靠的解決方案來完
善Web 站點 架構。
Nginx是一款非常優秀的http服務器軟件,它能夠支持高達50000個并發連接數的響應,擁有強大的靜態資源處理能力,運行穩定,并且內存、CPU等系統資源消耗非常低。目前很多大型網站都應用Nginx服務器作為后端網站程序的反向代理及負載均衡器,來提升整個站點的負載并發能力。
Nginx是一個非常強大的靜態web服務,Tomcat處理動態請求效率不高,而一般網站大多數的內容都是靜態文件(如圖片、html、css、js等),經過ginx前端的反向代理加速和過濾,后端Tomcat處理請求的壓力便可大大減少,只需負責處理動態內容就可以了。在性能與穩定性的權衡下,使用Nginx+Tomcat 搭配便可讓它們在各自擅長的領域大展拳腳。
本案例介紹以Nginx作為負載均衡器、靜態頁面處理,Tomcat作為應用服務器的負載群集、動態頁面處理的設置方法。
1,安裝Nginx(略)
2,修改配置文件
upstream my_tomcat {server 192.168.10.102:8080 weight=1server 192.168.10.103:8080 weight=2
}
charset utf-8
location ~ .*\.jsp$ {proxy_pass http://my_tomcat;proxy_set_header HOST $host;proxy_set_header Client-IP $remote_addr;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ~ .*\.(png|gif|jpeg|jpg)$ {root /usr/local/nginx/html/img;expires 30d;
}
cd /usr/local/nginx/html
mkdir img
cd img/
拉圖片
nginx -t
systemctl restart nginx
第二,三臺配置一樣
systemctl stop firewalld
setenforce 0
dnf -y install java
tar xf apache-tomcat-9.0.8.tar.gz
mv apache-tomcat-9.0.8.tar.gz /usr/local/tomcat
cd /usr/local/tomcat
ls
cd bin/
ls
./startup.sh
netstat -anpt | grep java
mkdir -p /web/webapp1
cd /web/webapp1/
拉index.jsp文件
vim index.jsp
test1(全改為1)
logo.png(修改)
vim /usr/local/tomcat/conf/server.xml
150行 <Context docBase="/web/webapp1" path="" reloadable="false"></Context>
/usr/local/tomcat/bin/shutdown.sh
/usr/local/tomcat/bin/startup.sh