日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Tomcat應(yīng)用部署及詳解

 夜貓速讀 2022-05-23 發(fā)布于湖北

一、初識(shí)Tomcat;

二、Tomcat與jdk的關(guān)系;

三、Tomcat內(nèi)部工作原理;

四、Tomcat配置文件詳解;

五、案例:搭建Tomcat案例;

一、初識(shí)tomcat;

概述:Tomcat是由Apache軟件基金會(huì)下屬的Jakarta項(xiàng)目開(kāi)發(fā)的一個(gè)Servlet容器,按照Sun Microsystems提供的技術(shù)規(guī)范,實(shí)現(xiàn)了對(duì)Servlet和JavaServer Page(JSP)的支持,并提供了作為Web服務(wù)器的一些特有功能,如Tomcat管理和控制平臺(tái)、安全域管理和Tomcat閥等。由于Tomcat本身也內(nèi)含了一個(gè)HTTP服務(wù)器,它也可以被視作一個(gè)單獨(dú)的Web服務(wù)器。

便于理解:Apache與Tomcat的比較

相同點(diǎn):

1.兩者都是Apache組織開(kāi)發(fā)的

2.兩者都有HTTP服務(wù)的功能

3.兩者都是免費(fèi)的

不同點(diǎn):

1.Apache是專(zhuān)門(mén)用了提供HTTP服務(wù)的,以及相關(guān)配置的(例如虛擬主機(jī)、URL轉(zhuǎn)發(fā)等等),而Tomcat是Apache組織在符合Java EE的JSP、Servlet標(biāo)準(zhǔn)下開(kāi)發(fā)的一個(gè)JSP服務(wù)器. 

2.Apache是一個(gè)Web服務(wù)器環(huán)境程序,啟用他可以作為Web服務(wù)器使用,不過(guò)只支持靜態(tài)網(wǎng)頁(yè)。如果要在Apache環(huán)境下運(yùn)行JSP的話(huà)就需要一個(gè)解釋器來(lái)執(zhí)行JSP網(wǎng)頁(yè),而這個(gè)JSP解釋器就是Tomcat。

3.Apache側(cè)重于HTTPServer ,Tomcat側(cè)重于Servlet引擎,如果以Standalone方式運(yùn)行,功能上與Apache等效,支持JSP,但對(duì)靜態(tài)網(wǎng)頁(yè)不太理想;

4.Apache是Web服務(wù)器,Tomcat是應(yīng)用(Java)服務(wù)器,它只是一個(gè)ServletJSP也翻譯成Servlet)容器,可以認(rèn)為是Apache的擴(kuò)展,但是可以獨(dú)立于Apache運(yùn)行。

Tomcat同類(lèi)產(chǎn)品:

1.Resin 服務(wù)器:

Resin是Caucho公司的產(chǎn)品,是一個(gè)非常流行的支持Servlet和JSP的服務(wù)器,速度非??臁esin本身包含了一個(gè)支持HTML的Web服務(wù)器,這使它不僅可以顯示動(dòng)態(tài)內(nèi)容,而且顯示靜態(tài)內(nèi)容的能力也毫不遜色,因此許多網(wǎng)站都是使用Resin服務(wù)器構(gòu)建。

2.Jetty 服務(wù)器:

Jetty是一個(gè)純粹的基于Java的網(wǎng)頁(yè)服務(wù)器和Java Servlet容器。盡管網(wǎng)頁(yè)服務(wù)器通常用來(lái)為人們呈現(xiàn)文檔,但是Jetty通常在較大的軟件框架中用于計(jì)算機(jī)與計(jì)算機(jī)之間的通信。Jetty作為Eclipse基金會(huì)的一部分,是一個(gè)自由和開(kāi)源項(xiàng)目。

3.JBoss服務(wù)器:

JBoss是一個(gè)種遵從JavaEE規(guī)范的、開(kāi)放源代碼的、純Java的EJB服務(wù)器,對(duì)于J2EE有很好的支持。JBoss采用JML API實(shí)現(xiàn)軟件模塊的集成與管理,其核心服務(wù)又是提供EJB服務(wù)器,不包含Servlet和JSP的Web容器,不過(guò)它可以和Tomcat完美結(jié)合。

4.WebSphere 服務(wù)器:

WebSphere是IBM公司的產(chǎn)品,可進(jìn)一步細(xì)分為 WebSphere Performance Pack、Cache Manager 和WebSphere Application Server等系列,其中WebSphere Application Server 是基于Java 的應(yīng)用環(huán)境,可以運(yùn)行于 Sun Solaris、Windows NT 等多種操作系統(tǒng)平臺(tái),用于建立、部署和管理Internet和Intranet Web應(yīng)用程序。

5.WebLogic 服務(wù)器:

WebLogic 是ORACLE公司的產(chǎn)品,可進(jìn)一步細(xì)分為 WebLogic Server、WebLogic Enterprise 和 WebLogic Portal 等系列,其中 WebLogic Server 的功能特別強(qiáng)大。WebLogic 支持企業(yè)級(jí)的、多層次的和完全分布式的Web應(yīng)用,并且服務(wù)器的配置簡(jiǎn)單、界面友好。對(duì)于那些正在尋求能夠提供Java平臺(tái)所擁有的一切應(yīng)用服務(wù)器的用戶(hù)來(lái)說(shuō),WebLogic是一個(gè)十分理想的選擇。

二、Tomcat與jdk的關(guān)系;

圖解:

解析:

JDK是開(kāi)發(fā)人員開(kāi)發(fā)使用,jre是用來(lái)運(yùn)行java程序,就是java程序的運(yùn)行環(huán)境,jvm是整個(gè)java實(shí)現(xiàn)跨平臺(tái)的最核心的部分,所有的java程序會(huì)首先被編譯為.class的類(lèi)文件,這種類(lèi)文件可以在虛擬機(jī)上執(zhí)行;

JDK中包含JRE,在JDK的安裝目錄下有一個(gè)名為jre的目錄,里面有兩個(gè)文件夾bin和lib,在這里可以認(rèn)為bin里的就是jvm,lib中則是jvm工作所需要的類(lèi)庫(kù),而jvm和 lib和起來(lái)就稱(chēng)為jre。jdk是java語(yǔ)言編寫(xiě)的,用來(lái)給java程序調(diào)用的,jvm因?yàn)榕c平臺(tái)進(jìn)行交互,是用c/c++和匯編語(yǔ)言編寫(xiě)的;

jdk是java運(yùn)行和編譯的,tomcat是web項(xiàng)目的運(yùn)行容器,java沒(méi)有jdk沒(méi)辦法編譯運(yùn)行,java運(yùn)行必須依賴(lài)jdk的環(huán)境,所以安裝tomcat前必須要安裝jdk環(huán)境;

下載位置:

tomcat下載地址:https://tomcat./download-90.cgi

jdk下載地址:

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

注解:

1. Java SE(Java Platform,Standard Edition):Java SE 是做電腦上運(yùn)行的軟件;

2. Java EE(Java Platform,Enterprise Edition):Java EE 是用來(lái)做網(wǎng)站的(我們常見(jiàn)的JSP技術(shù));

3. Java ME(Java Platform,Micro Edition):Java ME 是做手機(jī)軟件的;

對(duì)應(yīng)關(guān)系:

三、Tomcat內(nèi)部工作原理;

tomcat整體架構(gòu):

組件關(guān)聯(lián):

1、Tomcat 的心臟是兩個(gè)組件:Connector 和 Container,Connector 組件是可以被替換,這樣顯得更加靈活,一個(gè) Container 可以選擇對(duì)應(yīng)多個(gè) Connector。多個(gè) Connector 和一個(gè) Container 就形成了一個(gè) Service,有了 Service 就可以對(duì)外提供服務(wù)了,但是 Service 還要一個(gè)生存的環(huán)境,必須要有人能夠給她生命、掌握其生死大權(quán),那就非 Server 莫屬了。所以整個(gè) Tomcat 的生命周期由 Server 控制。

2、我們將 Tomcat 中 Connector、Container 作為一個(gè)整體比作一對(duì)情侶的話(huà),Connector 主要負(fù)責(zé)對(duì)外交流,可以比作為 Boy,Container 主要處理 Connector 接受的請(qǐng)求,主要是處理內(nèi)部事務(wù),可以比作為 Girl。那么這個(gè) Service 就是連接這對(duì)男女的結(jié)婚證了。是Service 將它們連接在一起,共同組成一個(gè)家庭。當(dāng)然要組成一個(gè)家庭還要很多其它的元素說(shuō)白了,Service 只是在 Connector 和 Container 外面多包一層,把它們組裝在一起,向外面提供服務(wù),一個(gè) Service 可以設(shè)置多個(gè) Connector,但是只能有一個(gè) Container 容器。

Container組件詳解:

?Engine負(fù)責(zé)處理所有請(qǐng)求,處理后,將結(jié)果返回給service,而connector是作為service與engine的中間媒介出現(xiàn)的。 作為交流者;一個(gè)engine下可以配置一個(gè)默認(rèn)主機(jī),每個(gè)虛擬主機(jī)都有一個(gè)域名。當(dāng)engine獲得一個(gè)請(qǐng)求時(shí),它把該請(qǐng)求匹配到虛擬主機(jī)host上,然后把請(qǐng)求交給該主機(jī)來(lái)處理。 Engine有一個(gè)默認(rèn)主機(jī),當(dāng)請(qǐng)求無(wú)法匹配到任何一個(gè)虛擬主機(jī)時(shí),將交給默認(rèn)host來(lái)處理。Engine以線(xiàn)程的方式啟動(dòng)Host。

?Host代表一個(gè)虛擬主機(jī),每個(gè)虛擬主機(jī)和某個(gè)網(wǎng)絡(luò)域名(Domain Name)相匹配。 每個(gè)虛擬主機(jī)下都可以部署一個(gè)或多個(gè)web應(yīng)用,每個(gè)web應(yīng)用對(duì)應(yīng)于一個(gè)context,有一個(gè)context path。 當(dāng)Host獲得一個(gè)請(qǐng)求時(shí),將把該請(qǐng)求匹配到某個(gè)Context上;

?Wrapper: 代表一個(gè) Servlet,它負(fù)責(zé)管理一個(gè) Servlet,包括的 Servlet 的裝載、初始化、執(zhí)行以及資源回收。Wrapper 是最底層的容器,它沒(méi)有子容器了;

四、Tomcat配置文件詳解;

tomcat中支持兩種協(xié)議的連接器:HTTP/1.1與AJP/1.3

HTTP/1.1協(xié)議負(fù)責(zé)建立HTTP連接,web應(yīng)用通過(guò)瀏覽器訪問(wèn)tomcat服務(wù)器用的就是這個(gè)連接器,默認(rèn)監(jiān)聽(tīng)的是8080端口;

AJP/1.3協(xié)議負(fù)責(zé)和其他HTTP服務(wù)器建立連接,監(jiān)聽(tīng)的是8009端口,比如tomcat和apache或者iis集成時(shí)需要用到這個(gè)連接器。

五、案例:搭建Tomcat案例;

案例環(huán)境:

系統(tǒng)類(lèi)型

IP地址

主機(jī)名

所需軟件

Centos 7.4 1708 64bit

192.168.100.101

www.linuxfan.cn

apache-tomcat-9.0.10.tar.gz、  jdk-8u171-linux-x64.tar.gz

案例步驟:

?安裝jdk,部署java環(huán)境;

?安裝tomact軟件程序;

?客戶(hù)端訪問(wèn)測(cè)試初始頁(yè)面;

?Tomcat服務(wù)配置目錄講解,配置文件講解,主配置文件講解;

?配置Tomcat得manager管理界面;

?自定義jsp頁(yè)面,并測(cè)試訪問(wèn);

?安裝jdk,部署java環(huán)境;

[root@www ~]# ls

apache-tomcat-9.0.10.tar.gz  jdk-8u171-linux-x64.tar.gz

[root@www~]# rpm -qa |grep java

[root@www ~]# tar zxvf jdk-8u171-linux-x64.tar.gz

[root@www ~]# mv jdk1.8.0_171/ /usr/local/java

[root@www ~]# ls /usr/local/java

bin        db       javafx-src.zip  lib      man          release  THIRDPARTYLICENSEREADME-JAVAFX.txt

COPYRIGHT  include  jre             LICENSE  README.html  src.zip  THIRDPARTYLICENSEREADME.txt

[root@www ~]# cat <>/etc/profile

export JAVA_HOME=/usr/local/java

export PATH=$PATH:/usr/local/java/bin

END

[root@www~]# source  /etc/profile

[root@www ~]# java -version

java version "1.8.0_171"

Java(TM) SE Runtime Environment (build 1.8.0_171-b11)

Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)

?安裝tomact軟件程序;

[root@www ~]# tar zxvf apache-tomcat-9.0.10.tar.gz

[root@www ~]# mv apache-tomcat-9.0.10 /usr/local/tomcat

[root@www ~]# ls /usr/local/tomcat

bin  conf  lib  LICENSE  logs  NOTICE  RELEASE-NOTES  RUNNING.txt  temp  webapps  work

[root@www ~]# /usr/local/tomcat/bin/startup.sh                               ##啟動(dòng)apache-tomcat

[root@www ~]# netstat -utpln |grep 8080

tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      14758/java

?客戶(hù)端訪問(wèn)測(cè)試初始頁(yè)面;

?Tomcat服務(wù)配置目錄講解,配置文件講解,主配置文件講解;

?安裝mariadb數(shù)據(jù)庫(kù),提供數(shù)據(jù)庫(kù)服務(wù);

[root@www ~]# yum -y install mariadb-server mysql

[root@www ~]# systemctl start mariadb

[root@www ~]# systemctl enable mariadb

[root@www ~]# mysqladmin -uroot password 123123

[root@www ~]# mysql -uroot -p123123

MariaDB [(none)]> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| performance_schema |

| test               |

+--------------------+

4 rows in set (0.00 sec)

MariaDB [(none)]> exit

?創(chuàng)建項(xiàng)目中的數(shù)據(jù)庫(kù)或者導(dǎo)入數(shù)據(jù)庫(kù)文件,并且進(jìn)行授權(quán);

[root@www ~]# ls

igcrms_xn.sql

[root@www ~]# mysql -uroot -p123123<igcrms_xn.sql< span=""></igcrms_xn.sql<>

MariaDB [(none)]> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| igcrms_xn          |

| mysql              |

| performance_schema |

| test               |

+--------------------+

5 rows in set (0.00 sec)

MariaDB [(none)]> use igcrms_xn

Database changed

MariaDB [igcrms_xn]> show tables;

+-----------------------------+

| Tables_in_igcrms_xn         |

+-----------------------------+

| col_recycle_daysum          |

| col_recycle_detail          |

| col_recycle_info            |

...

MariaDB [igcrms_xn]> grant all on igcrms_xn.* to 'linuxfan'@'192.168.100.101' identified by '123123';

MariaDB [igcrms_xn]> flush privileges;

MariaDB [(none)]> exit

?項(xiàng)目上線(xiàn);

[root@www ~]# ls

XNMS.war

[root@www ~]# unzip -oq XNMS.war -d ./linuxfan

[root@www ~]# ls linuxfan/

common  jsp  META-INF  static  WEB-INF

[root@www ~]# cp -rf ./linuxfan/ /usr/local/tomcat/webapps/

[root@www ~]# ls /usr/local/tomcat/webapps/linuxfan/

common  jsp  META-INF  static  WEB-INF

[root@www ~]# vi /usr/local/tomcat/webapps/linuxfan/WEB-INF/classes/jdbc.properties

      6 url=jdbc:mysql://192.168.100.101:3306/igcrms_xn?useUnicode=true&characterEncoding=utf-8&        allowMultiQueries=true

      7 username=linuxfan

      8 password=123123

:wq

?客戶(hù)端訪問(wèn)測(cè)試項(xiàng)目;

?配置Tomcat得manager管理界面;

[root@www ~]# vi /usr/local/tomcat/conf/tomcat-users.xml

     44 

     45 

[root@www ~]# vi /usr/local/tomcat/webapps/manager/META-INF/context.xml

     20          allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|\d+\.\d+\.\d+\.\d+" />

[root@www ~]# /usr/local/tomcat/bin/shutdown.sh

[root@www ~]# /usr/local/tomcat/bin/startup.sh

客戶(hù)端訪問(wèn)測(cè)試:

?自定義jsp頁(yè)面,并測(cè)試訪問(wèn);

[root@www ~]# mkdir  -p /web/webapp/

[root@www ~]# vi /web/webapp/index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

     <% out.println("Welcome to test site;http://www.linuxfan.cn");%>

:wq

[root@www ~]# vi  /usr/local/tomcat/conf/server.xml

    148       <host </hostname="www.linuxfan.cn"  appBase="webapps"

    149             unpackWARs="true" autoDeploy="true">

    150         <context </contextdocBase="/web/webapp" path="" reloadable="false">      

注解:           

unpackWARs="true"                                    ##設(shè)置自動(dòng)識(shí)別war包

autoDeploy="true"                                          ##開(kāi)啟自動(dòng)部署

Context docBase="/web/webapp"               ##設(shè)置項(xiàng)目存放位置

path=""                                                         ## tomcat把web應(yīng)用程序映射為root URI路徑reloadable="true"                                          ## tomcat服務(wù)器在運(yùn)行狀態(tài)下會(huì)監(jiān)視在WEB-INF/classes和WEB-INF/lib目錄下class文件的改動(dòng),如果監(jiān)測(cè)到有class文件被更新的,服務(wù)器會(huì)自動(dòng)重新加載Web應(yīng)用,但是開(kāi)啟會(huì)加重服務(wù)器負(fù)荷,false選項(xiàng)為關(guān)閉;

[root@www ~]# /usr/local/tomcat/bin/shutdown.sh

[root@www ~]# /usr/local/tomcat/bin/startup.sh

客戶(hù)端訪問(wèn)測(cè)試:

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多