乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Tomcat應用部署及詳解

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

      一、初識Tomcat;

      二、Tomcat與jdk的關系;

      三、Tomcat內部工作原理;

      四、Tomcat配置文件詳解;

      五、案例:搭建Tomcat案例;

      一、初識tomcat;

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

      便于理解:Apache與Tomcat的比較

      相同點:

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

      2.兩者都有HTTP服務的功能

      3.兩者都是免費的

      不同點:

      1.Apache是專門用了提供HTTP服務的,以及相關配置的(例如虛擬主機、URL轉發(fā)等等),而Tomcat是Apache組織在符合Java EE的JSP、Servlet標準下開發(fā)的一個JSP服務器. 

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

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

      4.Apache是Web服務器,Tomcat是應用(Java)服務器,它只是一個ServletJSP也翻譯成Servlet)容器,可以認為是Apache的擴展,但是可以獨立于Apache運行。

      Tomcat同類產品:

      1.Resin 服務器:

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

      2.Jetty 服務器:

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

      3.JBoss服務器:

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

      4.WebSphere 服務器:

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

      5.WebLogic 服務器:

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

      二、Tomcat與jdk的關系;

      圖解:

      解析:

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

      JDK中包含JRE,在JDK的安裝目錄下有一個名為jre的目錄,里面有兩個文件夾bin和lib,在這里可以認為bin里的就是jvm,lib中則是jvm工作所需要的類庫,而jvm和 lib和起來就稱為jre。jdk是java語言編寫的,用來給java程序調用的,jvm因為與平臺進行交互,是用c/c++和匯編語言編寫的;

      jdk是java運行和編譯的,tomcat是web項目的運行容器,java沒有jdk沒辦法編譯運行,java運行必須依賴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 是做電腦上運行的軟件;

      2. Java EE(Java Platform,Enterprise Edition):Java EE 是用來做網(wǎng)站的(我們常見的JSP技術);

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

      對應關系:

      三、Tomcat內部工作原理;

      tomcat整體架構:

      組件關聯(lián):

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

      2、我們將 Tomcat 中 Connector、Container 作為一個整體比作一對情侶的話,Connector 主要負責對外交流,可以比作為 Boy,Container 主要處理 Connector 接受的請求,主要是處理內部事務,可以比作為 Girl。那么這個 Service 就是連接這對男女的結婚證了。是Service 將它們連接在一起,共同組成一個家庭。當然要組成一個家庭還要很多其它的元素說白了,Service 只是在 Connector 和 Container 外面多包一層,把它們組裝在一起,向外面提供服務,一個 Service 可以設置多個 Connector,但是只能有一個 Container 容器。

      Container組件詳解:

      ?Engine負責處理所有請求,處理后,將結果返回給service,而connector是作為service與engine的中間媒介出現(xiàn)的。 作為交流者;一個engine下可以配置一個默認主機,每個虛擬主機都有一個域名。當engine獲得一個請求時,它把該請求匹配到虛擬主機host上,然后把請求交給該主機來處理。 Engine有一個默認主機,當請求無法匹配到任何一個虛擬主機時,將交給默認host來處理。Engine以線程的方式啟動Host。

      ?Host代表一個虛擬主機,每個虛擬主機和某個網(wǎng)絡域名(Domain Name)相匹配。 每個虛擬主機下都可以部署一個或多個web應用,每個web應用對應于一個context,有一個context path。 當Host獲得一個請求時,將把該請求匹配到某個Context上;

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

      四、Tomcat配置文件詳解;

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

      HTTP/1.1協(xié)議負責建立HTTP連接,web應用通過瀏覽器訪問tomcat服務器用的就是這個連接器,默認監(jiān)聽的是8080端口;

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

      五、案例:搭建Tomcat案例;

      案例環(huán)境:

      系統(tǒng)類型

      IP地址

      主機名

      所需軟件

      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軟件程序;

      ?客戶端訪問測試初始頁面;

      ?Tomcat服務配置目錄講解,配置文件講解,主配置文件講解;

      ?配置Tomcat得manager管理界面;

      ?自定義jsp頁面,并測試訪問;

      ?安裝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                               ##啟動apache-tomcat

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

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

      ?客戶端訪問測試初始頁面;

      ?Tomcat服務配置目錄講解,配置文件講解,主配置文件講解;

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

      [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)建項目中的數(shù)據(jù)庫或者導入數(shù)據(jù)庫文件,并且進行授權;

      [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

      ?項目上線;

      [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

      ?客戶端訪問測試項目;

      ?配置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

      客戶端訪問測試:

      ?自定義jsp頁面,并測試訪問;

      [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"                                    ##設置自動識別war包

      autoDeploy="true"                                          ##開啟自動部署

      Context docBase="/web/webapp"               ##設置項目存放位置

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

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

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

      客戶端訪問測試:

        轉藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多