欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Tomcat的安裝部署

一、前言

今天講解有關(guān)tomcat的安裝部署。

專注于為中小企業(yè)提供網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)玉州免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了1000+企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

1.Apache和Nginx的區(qū)別

Apache是同步多進(jìn)程模型,一個(gè)連接對(duì)應(yīng)一個(gè)進(jìn)程,而nginx是異步的,多個(gè)連接(萬(wàn)級(jí)別)可以對(duì)應(yīng)一個(gè)進(jìn)程。
nginx輕量級(jí),抗并發(fā),處理靜態(tài)文件好
Apache超穩(wěn)定,對(duì)PHP支持比較簡(jiǎn)單,nginx需要配合其他后端用,處理動(dòng)態(tài)請(qǐng)求有優(yōu)勢(shì),建議使用前端nginx抗并發(fā),后端apache集群,配合起來(lái)會(huì)更好。

2.Apache和Nginx的特點(diǎn)

Apache支持支持模塊多,性能穩(wěn)定,Apache本身是靜態(tài)解析,適合靜態(tài)HTML、圖片等,但可以通過(guò)擴(kuò)展腳本、模塊等支持動(dòng)態(tài)頁(yè)面等。但是其配置相對(duì)復(fù)雜,自身不支持動(dòng)態(tài)頁(yè)面。

Nginx,輕量級(jí)的HTTP服務(wù)器,是一個(gè)高性能的HTTP和反向代理服務(wù)器,同時(shí)也是一個(gè)IMAP/POP3/SMTP 代理服務(wù)器。其特點(diǎn)是占有內(nèi)存少,并發(fā)能力強(qiáng),易于開(kāi)發(fā),部署方便。Nginx 支持多語(yǔ)言通用服務(wù)器。但是,Nginx 只適合靜態(tài)和反向代理。其優(yōu)點(diǎn)在于支持:負(fù)載均衡、反向代理、處理靜態(tài)文件。Nginx 處理靜態(tài)請(qǐng)求的速度高于Apache(3倍以上)。

二、Tomcat概念

1.Tomcat 簡(jiǎn)介

Tomcat是Apache 軟件基金會(huì)(Apache Software Foundation)的Jakarta 項(xiàng)目中的一個(gè)核心項(xiàng)目,由Apache、Sun 和其他一些公司及個(gè)人共同開(kāi)發(fā)而成。由于有了Sun 的參與和支持,最新的Servlet 和JSP 規(guī)范總是能在Tomcat 中得到體現(xiàn),Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 規(guī)范。因?yàn)門(mén)omcat 技術(shù)先進(jìn)、性能穩(wěn)定,而且免費(fèi),因而深受Java 愛(ài)好者的喜愛(ài)并得到了部分軟件開(kāi)發(fā)商的認(rèn)可,成為目前比較流行的Web 應(yīng)用服務(wù)器。

Tomcat優(yōu)點(diǎn)

1、兼有可擴(kuò)du展性和安全性。假如單位時(shí)間內(nèi)訪問(wèn)請(qǐng)求zhi數(shù)急劇增加,可以用相對(duì)較低的費(fèi)dao用增加前端的能力。

2、比較容易擴(kuò)展。由于是通過(guò)在這臺(tái)功能強(qiáng)大的服務(wù)器上運(yùn)行的單個(gè)servlet容器,實(shí)際上也就不需要考慮session狀態(tài)在分布式環(huán)境下的維護(hù)這類復(fù)雜的問(wèn)題。

3、臺(tái)后端服務(wù)器在外界不可以訪問(wèn),網(wǎng)上的黑客只能訪問(wèn)前端的web服務(wù)器,不能直接訪問(wèn)后端的應(yīng)用服務(wù)器,這就提高了安全性。但這并不意味著黑客們不能通過(guò)網(wǎng)絡(luò)瀏覽器進(jìn)行其它形式的攻擊。

2.Tomcat優(yōu)勢(shì)

對(duì)于學(xué)習(xí)了或者正在學(xué)習(xí)Java的朋友對(duì)Tomcat應(yīng)該是比較熟悉的了。

最新的Servlet 和JSP 規(guī)范總是能在Tomcat 中得到體現(xiàn),Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 規(guī)范。因?yàn)門(mén)omcat 技術(shù)先進(jìn)、性能穩(wěn)定,而且免費(fèi),因而深受Java 愛(ài)好者的喜愛(ài)并得到了部分軟件開(kāi)發(fā)商的認(rèn)可,成為目前比較流行的Web 應(yīng)用服務(wù)器。

其優(yōu)點(diǎn)在于它是一個(gè)動(dòng)態(tài)解析容器,處理動(dòng)態(tài)請(qǐng)求,是編譯JSP/Servlet的容器,其缺點(diǎn)也十分明顯,只能做Java服務(wù)器,并且在并發(fā)量上有限制。

至于更加深層的原因,需要有一定的架構(gòu)思想才能深入理解和總結(jié)歸納Apache、Nginx和Tomcat的區(qū)別于聯(lián)系。本文核心是針對(duì)初學(xué)者而言,主要講解Tomcat的部署操作流程,因此,更深的原因在這里就不再贅述了,但是我們一定要知道“無(wú)論什么,存在的就是合理的,而我們所要做的便是透過(guò)現(xiàn)象看本質(zhì)!”

三、Tomcat的核心組件

Tomcat 是 Apache 下的一個(gè)子項(xiàng)目,它具備 Web 服務(wù)器的所有功能,不僅可以監(jiān)聽(tīng)接受請(qǐng)求并響應(yīng)靜態(tài)資源,而且可以在后端運(yùn)行特定規(guī)范   的 Java 代碼 Servlet,同時(shí)將執(zhí)行的結(jié)果以 HTML 代碼的形式寫(xiě)回客戶端。

Tomcat的三大核心組件:Web容器、Servlet容器以及JSP容器

  1. Web容器:完成Web服務(wù)器的功能;
  2. Servlet容器:名字為catalina,用于處理Servlet代碼;
  3. JSP容器:用于將JSP動(dòng)態(tài)網(wǎng)頁(yè)翻譯成Servlet代碼。

四、Tomcat處理請(qǐng)求過(guò)程

1) 請(qǐng)求被發(fā)送到本機(jī)端口 8080,被在那里偵聽(tīng)的 Coyote HTTP/11.1 Connector(連接器) 獲得。

2)  Connector 把該請(qǐng)求交給它所在的 Service 的 Engine(引擎) 來(lái)處理,并等待來(lái)自 Engine的回應(yīng)。

3)  Engine 獲得請(qǐng)求 localhost/yy/index.JSP,匹配它所擁有的所有虛擬主機(jī) Host;

Engine 匹配到名為 localhost 的 Host。即使匹配不到也把請(qǐng)求交給該 Host 處理, 因?yàn)樵?Host 被定義為該 Engine 的默認(rèn)主機(jī)。

4)    localhost Host 獲得請(qǐng)求/yy/index.JSP,匹配它所擁有的所有 Context;

Host 匹配到路徑為/yy 的 Context。如果匹配不到,就把該請(qǐng)求交給路徑名為“”的 Context 去處理。

5)     path=”/yy”的 Context 獲得請(qǐng)求/index.JSP,在它的 mapping table 中尋找對(duì)應(yīng)的 Servlet。

Context 匹配到 URL PATTERN 為*.JSP 的 Servlet,對(duì)應(yīng)于 JSPServlet 類。

6)     構(gòu)造 HttpServletRequest 對(duì)象和 HttpServletResponse 對(duì)象, 作為參數(shù)調(diào)用JSPServlet 的 doGet()或 doPost()方法。

7)     Context 把執(zhí)行完了之后的 HttpServletResponse 對(duì)象返回給 Host。

8)     Host 把 HttpServletResponse 對(duì)象返回給 Engine。

9)     Engine 把 HttpServletResponse 對(duì)象返回給 Connector。

10) Connector 把 HttpServletResponse 對(duì)象返回給客戶 browser。

或許看了上面的過(guò)程,感覺(jué)實(shí)在是過(guò)于復(fù)雜,下面給出具體的流程圖,大家可以根據(jù)流程圖進(jìn)行邏輯上的理解:

Tomcat的安裝部署

connector連接器和container容器

Connector 用于接收請(qǐng)求并將請(qǐng)求封裝成Request 和Response 來(lái)具體處理,(最底層是使用Socket 來(lái)進(jìn)行連接的)其中 Request 和Response 是按照HTTP 協(xié)議來(lái)封裝的,所以Connector 同時(shí)實(shí)現(xiàn)了TCP/IP 協(xié)議和HTTP 協(xié)議, Request 和Response 封裝完后交給Container 進(jìn)行處理,Container 即Servlet 的容器, Container 處理完之后返回給Connector,最后Connector 使用Socket 將處理結(jié)果返回給客戶端,這樣整個(gè)請(qǐng)求就處理完了,具體請(qǐng)求過(guò)程如上圖所示。

而Container 則是Tomcat 中容器的接口,通常使用的Servlet 就封裝在其子接口Wrapper 中。(Container 一共有4 個(gè)子接口Engine 、Host 、Context 、Wrapper 和一個(gè)默認(rèn)實(shí)現(xiàn)類ContainerBase,每個(gè)子接口都是一個(gè)容器,這4 個(gè)子容器都有一個(gè)對(duì)應(yīng)的StandardXXX 實(shí)現(xiàn)類,并且這些實(shí)現(xiàn)類都繼承ContainerBase 類。另外Container 還繼承Lifecycle 接口,而且ContainerBase 間接繼承LifecycleBase,所以Engine 、Host 、Context 、Wrapper 4 個(gè)子容器都符合前面講過(guò)的Tomcat生命周期管理模式。)

五、Tomcat部署操作流程

所需環(huán)境:

  • 系統(tǒng)版本:Centos7
  • Tomcat版本:9.0.8
  • jdk版本:1.8.0_201
  • 服務(wù)器ip地址:192.168.68.145

部署具體步驟:

1.首先需要以下兩個(gè)包

[root@localhost tomcat]# ls
apache-tomcat-9.0.16.tar.gz  jdk-8u201-linux-x64.rpm

軟件包鏈接:https://pan.baidu.com/s/1q9igHqlkIVJtqRS8zbuibQ
提取碼:xzaj

2.安裝jdk

[root@localhost tomcat]# rpm -ivh jdk-8u201-linux-x64.rpm 
警告:jdk-8u201-linux-x64.rpm: 頭V3 RSA/SHA256 Signature, 密鑰 ID ec551f03: NOKEY
準(zhǔn)備中...                          ################################# [100%]
正在升級(jí)/安裝...
   1:jdk1.8-2000:1.8.0_201-fcs        ################################# [100%]
Unpacking JAR files...
        tools.jar...
        plugin.jar...
        javaws.jar...
        deploy.jar...
        rt.jar...
        jsse.jar...
        charsets.jar...
        localedata.jar...
[root@localhost tomcat]# cd /usr/java/
[root@localhost java]# ls
default  jdk1.8.0_201-amd64  latest
[root@localhost java]# cd jdk1.8.0_201-amd64/
[root@localhost jdk1.8.0_201-amd64]# ls
bin             lib          src.zip
COPYRIGHT       LICENSE      THIRDPARTYLICENSEREADME-JAVAFX.txt
include         man          THIRDPARTYLICENSEREADME.txt
javafx-src.zip  README.html
jre             release

bin/:命令文件存放目錄

jre/:jvm的虛擬機(jī)存放位置

lib/:函數(shù)庫(kù)目錄

src.zip/:源碼壓縮包目錄

3.設(shè)置環(huán)境變量(系統(tǒng)環(huán)境變量/etc/profile)

3.1查看當(dāng)前路徑,查看jdk原版本
[root@localhost jdk1.8.0_201-amd64]# pwd
/usr/java/jdk1.8.0_201-amd64
[root@localhost jdk1.8.0_201-amd64]# java -version            #簡(jiǎn)化版jdk原本就集成在Centos7中
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-b12)
OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)
[root@localhost jdk1.8.0_201-amd64]# 
3.2設(shè)置環(huán)境變量
[root@localhost jdk1.8.0_201-amd64]# vim /etc/profile         
[root@localhost jdk1.8.0_201-amd64]# source /etc/profile 
[root@localhost jdk1.8.0_201-amd64]# tail -3 /etc/profile     #添加的內(nèi)容

export JAVA_NAME=/usr/java/jdk1.8.0_201-amd64         #工作路徑
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar   #類文件的位置
export PATH=$JAVA_NAME/bin:$PATH                      #命令文件
[root@localhost jdk1.8.0_201-amd64]# java      #證明source成功
java            javafxpackager  javapackager    javaws.itweb
javac           javah           java-rmi.cgi    
javadoc         javap           javaws          
[root@localhost jdk1.8.0_201-amd64]# java -version
java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)

[root@localhost jdk1.8.0_201-amd64]# 

4.安裝Tomcat

[root@localhost tomcat]# ls
apache-tomcat-9.0.16.tar.gz  jdk-8u201-linux-x64.rpm
[root@localhost tomcat]# tar zxf apache-tomcat-9.0.16.tar.gz -C /opt
[root@localhost tomcat]# cd /opt/
[root@localhost opt]# ls
apache-tomcat-9.0.16  rh
[root@localhost opt]# mv apache-tomcat-9.0.16/ tomcat
[root@localhost opt]# ls
rh  tomcat
[root@localhost opt]# cd tomcat/
[root@localhost tomcat]# ls
bin           CONTRIBUTING.md  logs       RELEASE-NOTES  webapps
BUILDING.txt  lib              NOTICE     RUNNING.txt    work
conf          LICENSE          README.md  temp

其中 webapps是站點(diǎn),

5.優(yōu)化啟動(dòng)關(guān)閉腳本,開(kāi)啟關(guān)閉操作

[root@localhost tomcat]# cd bin/
[root@localhost bin]# ls
bootstrap.jar                 makebase.sh
catalina.bat                  setclasspath.bat
catalina.sh                   setclasspath.sh
catalina-tasks.xml            shutdown.bat
ciphers.bat                   shutdown.sh
ciphers.sh                    startup.bat
commons-daemon.jar            startup.sh
commons-daemon-native.tar.gz  tomcat-juli.jar
configtest.bat                tomcat-native.tar.gz
configtest.sh                 tool-wrapper.bat
daemon.sh                     tool-wrapper.sh
digest.bat                    version.bat
digest.sh                     version.sh
makebase.bat
[root@localhost bin]# ln -s /opt/tomcat/bin/startup.sh /usr/bin
[root@localhost bin]# ln -s /opt/tomcat/bin/shutdown.sh /usr/bin[root@localhost bin]# systemctl stop firewalld.service 
[root@localhost bin]# setenforce 0
[root@localhost bin]# startup.sh  #開(kāi)啟服務(wù)
Using CATALINA_BASE:   /opt/tomcat
Using CATALINA_HOME:   /opt/tomcat
Using CATALINA_TMPDIR: /opt/tomcat/temp
Using JRE_HOME:        /usr/java/jdk1.8.0_201-amd64
Using CLASSPATH:       /opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/tomcat-juli.jar
Tomcat started.
[root@localhost bin]# netstat -antp | grep 8080
tcp6       0      0 :::8080                 :::*                    LISTEN      47064/java
[root@localhost bin]# shutdown.sh 
Using CATALINA_BASE:   /opt/tomcat
Using CATALINA_HOME:   /opt/tomcat
Using CATALINA_TMPDIR: /opt/tomcat/temp
Using JRE_HOME:        /usr/java/jdk1.8.0_201-amd64
Using CLASSPATH:       /opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/tomcat-juli.jar
[root@localhost bin]# netstat -antp | grep 8080
tcp6       0      0 ::1:39678               ::1:8080                TIME_WAIT   -                   

6.測(cè)試驗(yàn)證

當(dāng)我們開(kāi)啟Tomcat服務(wù)的時(shí)候,可以在瀏覽器中使用“IP地址:8080”進(jìn)行訪問(wèn),如下圖所示

Tomcat的安裝部署

本文題目:Tomcat的安裝部署
當(dāng)前網(wǎng)址:http://chinadenli.net/article10/iigigo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航品牌網(wǎng)站設(shè)計(jì)企業(yè)網(wǎng)站制作靜態(tài)網(wǎng)站微信小程序軟件開(kāi)發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

綿陽(yáng)服務(wù)器托管