日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Tomcat服务安装与部署(安装与优化)

發布時間:2024/2/28 编程问答 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Tomcat服务安装与部署(安装与优化) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

    • 了解Tomcat服務
    • 部署Tomcat服務

了解Tomcat服務

  • Tomcat是Apache 軟件基金會(Apache Software Foundation)的Jakarta 項目中的一個核心項目
  • Tomcat 服務器是一個免費的開放源代碼的Web 應用服務器,屬于輕量級應用
  • 由Apache、Sun 和其他一些公司及個人共同開發而成
  • 因為Tomcat 技術先進、性能穩定,而且免費,因而深受Java 愛好者的喜愛并得到了部分軟件開發商的認可,成為目前比較流行的Web 應用服務器
  • Tomcat核心組件有三個:Web容器(Web服務器)、Servlet容器(名為catalina,處理Servlet代碼)、JSP容器(將JSP動態網頁翻譯成Servlet代碼)

Tomcat處理請求過程

Tomcat的兩個核心組件:Connector和Container

1.Connector組件

一個Connector組件將在某個指定的端口上偵聽客戶請求,接收瀏覽器發過來的tcp連接請求,創建一個Request和一個Response對象分別用于和其你去端交換數據,然后會產生一個線程來處理這個請求并把產生的Request和Response對象傳給Engine,從Engine中獲得響應并返回給客戶端。 Tomcat有兩個經典的Connector,一個直接偵聽來自瀏覽器的HTTP請求,另外一個偵聽來自其他的WebServer的請求。Cotote HTTP/1.1 Connector在端口8080處偵聽來自客戶瀏覽器的HTTP請求,Coyote JK2 Connector在端口8009處偵聽其他WebServer的Servlet/JSP請求。 Connector 最重要的功能就是接收連接請求然后分配線程讓 Container來處理這個請求,所以這必然是多線程的,多線程的處理是 Connector 設計的核心。

2.Container組件

Container組件的體系結構如下:

Container

Container是容器的父接口,該容器的設計用的是典型的責任鏈的設計模式,它由四個自容器組件構成,分別是Engine、Host、Context、Wrapper。這四個組件是負責關系,存在包含關系。通常一個Servlet class對應一個Wrapper,如果有多個Servlet則定義多個Wrapper,如果有多個Wrapper就要定義一個更高的Container,如Context。 Context定義在父容器 Host 中,其中Host 不是必須的,但是要運行 war 程序,就必須要 Host,因為 war 中必有 web.xml 文件,這個文件的解析就需要 Host 了,如果要有多個 Host 就要定義一個 top 容器 Engine 了。而 Engine 沒有父容器了,一個 Engine 代表一個完整的 Servlet 引擎。

Engine

Engine 容器比較簡單,它只定義了一些基本的關聯關系 Host 容器

Host

Host 是 Engine 的字容器,一個 Host 在 Engine 中代表一個虛擬主機,這個虛擬主機的作用就是運行多個應用,它負責安裝和展開這些應用,并且標識這個應用以便能夠區分它們。它的子容器通常是 Context,它除了關聯子容器外,還有就是保存一個主機應該有的信息。

Context

Context 代表 Servlet 的 Context,它具備了 Servlet 運行的基本環境,理論上只要有 Context 就能運行 Servlet 了。簡單的 Tomcat 可以沒有 Engine 和 Host。Context 最重要的功能就是管理它里面的 Servlet 實例,Servlet 實例在 Context 中是以 Wrapper 出現的,還有一點就是 Context 如何才能找到正確的 Servlet 來執行它呢? Tomcat5 以前是通過一個 Mapper 類來管理的,Tomcat5 以后這個功能被移到了 request 中,在前面的時序圖中就可以發現獲取子容器都是通過 request 來分配的

Wrapper

Wrapper 代表一個 Servlet,它負責管理一個 Servlet,包括的 Servlet 的裝載、初始化、執行以及資源回收。Wrapper 是最底層的容器,它沒有子容器了,所以調用它的 addChild 將會報錯。 Wrapper 的實現類是 StandardWrapper,StandardWrapper 還實現了擁有一個 Servlet 初始化信息的 ServletConfig,由此看出 StandardWrapper將直接和 Servlet 的各種信息打交道。

Tomcat的Http請求過程

用戶點擊網頁內容》》請求被發送到本機端口8080》》被在那里監聽的Coyote HTTP/1.1 Connector獲得》》Connector把該請求交給它所在的Service的Engine來處理,并等待Engine的回應》》Engine獲得請求localhost/test/index.jsp》》匹配所有的虛擬主機Host》》Engine匹配到名為localhost的Host》localhost的Host獲得請求/test/index.jsp,匹配它所擁有的所有的Context》》Context獲得請求/index.jsp,在它的mapping table中尋找出對應的Servlet》》Context把執行完之后的HttpServletResponse對象返回給HostContext把執行完之后的HttpServletResponse對象返回給Host》》Engine把HttpServletResponse對象返回Connector》》Connector把HttpServletResponse對象返回給客戶Browser

部署Tomcat服務

安裝JDK包

[root@localhost opt]# rpm -ivh jdk-8u201-linux-x64.rpm ## 安裝JKD包

設置環境變量

[root@localhost opt]# cd /usr/java/jdk1.8.0_201-amd64/[root@localhost jdk1.8.0_201-amd64]# vi /etc/profile ## 編輯系統環境變量文件修改系統環境變量(在文件末尾添加):export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64 export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar export PATH=$JAVA_HOME/bin:$PATH[root@localhost jdk1.8.0_201-amd64]# source /etc/profile ## 重載環境變量配置文件

使用命令查看環境變量是否設置成功

[root@localhost jdk1.8.0_201-amd64]# java -version ## 查看Java庫版本信息 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)

安裝tomcat

[root@localhost opt]# tar zxvf apache-tomcat-9.0.16.tar.gz -C /usr/local/ ## 解壓縮

為了方便管理,我們將tomcat進行重命名

[root@promote local]# mv apache-tomcat-9.0.16/ tomcat

為了便于管理,將服務管理腳本建立軟連接

[root@localhost opt]# cd /usr/local/tomcat/bin/ [root@localhost bin]# ln -s /usr/local/tomcat/bin/startup.sh /usr/bin/ ## 啟動腳本 [root@localhost bin]# ln -s /usr/local/tomcat/bin/shutdown.sh /usr/bin/ ## 關閉腳本

啟動Tomcat服務并查看服務端口

[root@localhost bin]# startup.sh ## 啟動服務[root@localhost bin]# netstat -natp | grep 8080 ## 查看服務端口是否啟動 tcp6 0 0 :::8080 :::* LISTEN 74004/java

優化startup(秒開)

[root@promote security]# cd /usr/java/jdk1.8.0_201-amd64/jre/lib/security [root@promote security]# vim java.security securerandom.source=file:/dev/urandom 把rangdom修改成urandom

打開瀏覽器輸入服務器IP地址+端口號進行訪問

http://192.168.136.88:8080/

總結

以上是生活随笔為你收集整理的Tomcat服务安装与部署(安装与优化)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。