Nginx+Tomcat負載均衡群集

一.案例:部署Tomcat

1.案例分析

1.1案例概述

京北點指科技有限公司發布V3版移聯建站管理系統,該項目為Java 語言開發的Web 站點。目前,IBM 的 WebSphere 及 0racle 的 WebLogic 占據了市面上 Java 語言 Web 站點的大部分份額。這兩種軟件以其無與倫比的性能及可靠性等優勢被廣泛應用于大型互聯網公司 的 Web 場景中,但是其高昂的價格也使得小型互聯網公司對此望而卻步。
Tomcat 自 5.x版本以來,其性能上已經得到了大幅的提升,再加上其開放性的框架和 可二次開發等特性,已經完全可以用在訪問量不是很大的生產環境下。 目前,大多數用于 JSP 技術開發的電子商務網站基本應用了Tomcat,而且 Tomcat 的Servlet 和JSP這兩種 API 也完全可以適用于 V3 版移聯建站管理系統。

1.2案例前置知識點

(1)Tomcat 簡介
名稱由來:Tomcat 最初是由Sun 的軟件構架師詹姆斯·鄧肯·戴維森開發的。后來他幫助將其變為開源項目,并由Sun 貢獻給 Apache 軟件基金會。由于大部分開源項目0’Reilly 都會出一本相關的書,并且將其封面設計成某個動物的素描,因此他希望將此項目以一個動物的名字命名。因為他希望這種動物能夠自己照顧自己,最終,他將其命名為 Tomcat(公貓)。而 0’Reilly 出版的介紹 Tomcat 的書籍的封面也被設計成了一個公貓的形象。而 Tomcat 的 Logo 兼吉祥物也被設計成了一只公貓。
其實 Tomcat 在開始研發的時候并不叫這個名字,早期Tomcat 項目的名字叫Catalina,所以當我們安裝完 Tomcat 后會發現安裝路徑下面有很多和 Catalina 有關的目錄和文件,而這些文件通常也是我們使用或者配置Tomcat 的重要文件。
(2)應用場景
Tomcat 服務器是一個免費的開放源代碼的Web應用服務器,屬于輕量級應用服務在中小型系統和并發訪問用戶不是很多的場合下被普遍使用,是開發和調試JSP器,程序的首選。 一般來說,Tomcat雖然和 Apache或者 Nginx 這些 Web 服務器一樣,具有處理 HTML頁面的功能,然而由于其處理靜態HTML的能力遠不及 Apache 或者Nginx,所以 Tomcat 通常是作 為一個 Servlet 和 JSP 容器,單獨運行在后端。

2.案例實施

2.1實施準備

(1)關閉 firewalld 防火墻。
請添加圖片描述

(2)在安裝Tomcat之前必須先安裝JDK。
JDK 的全稱是 Java Development Kit,是 Sun 公司免費提供的 Java 語言的軟件開發工具包,其中包含 Java 虛擬機(JVM)。編寫好的Java 源程序經過編譯可形成Java 字節碼,只要安裝了 JDK,就可以利用 JVM 解釋這些字節碼文 件,從而保證了Java 的跨平臺性。
在平臺兼容性方面,IDK作為解釋字節碼文件并據此調用操作系統API 實現對應功Java 虛擬機,與操作系統類型和平臺位數密切相關,因此存在不同類型的版本,而Tomcat 也具有上述特征,默認情況下 JDK 已經安裝,所以需要預先下載Tomcat,本章中所使用的 Tomcat 軟件的源碼包為 apache-tomcat-9.0.8.tar.gz。

2.2查看JDK是否安裝

請添加圖片描述

2.3安裝配直 Tomcat

(1)Tomcat 的安裝和配置步驟如下:
請添加圖片描述

(2)解壓后生成 apache-tomcat-9.0.8文件夾,將該文件夾移動到/usr/local/下,并改名為 tomcat9。
請添加圖片描述

(3)啟動 tomcat
請添加圖片描述

(4)打開瀏覽器訪問測試:http://172.16.16.172:8080/,如果出現的界面,則表示Tomcat 已經啟動成功。
請添加圖片描述

2.4 Tomcat 配置相關說明

(1)主要目錄說明
請添加圖片描述

—bin/:存放 Windows 或 Linux 平臺上啟動和關閉 Tomcat 的腳本文件。
—conf/:存放 Tomcat 服務器的各種全局配置文件,其中最重要的是 server.xml 和web. xml.
—lib/:存放 Tomcat 運行需要的庫文件(JARS)
—logs:存放 Tomcat 執行時的 L0G 文件。
—webapps:Tomcat 的主要Web 發布目錄(包括應用程序示例)。
—work:存放JSP 編譯后產生的class 文件。
(2)配置文件說明
請添加圖片描述

catalina.policy:權限控制配置文件。
catalina.properties:Tomcat 屬性配置文件。
context.xml:上下文配置文件。
logging.properties:日志log 相關配置文件。
server.xml:主配置文件。
tomcat-users.xml:manager-gui管理用戶配置文件(Tomcat安裝后提供一個manager-gui 的管理界面,通過配置該文件可以開啟訪問)。
web.xml:Tomcat 的servlet、servlet-mapping、filter、MIME 等相關配置。

2.5 Tomcat主配置文件說明

server.xml 為Tomcat 的主要配置文件,通過配置該文件,可以修改 Tomcat 的啟動端 口、網站目錄、虛擬主機、開啟 https 等重要功能。

2.6Tomcat Server 的組成部分說明

Tomcat Server 出 Server、Service、Connector、Engine、Host 和 Context 組成。(1)ServerServer 元素代表了整個Catalina的servlet 容器。
(2)Service
Service 是這樣一個集合:它由一個或者多個 Connector,以及一個 Engine(負責處理所有Connector 所獲得的客戶請求)組成。
(3)Connector
一個Connector 在某個指定端口上偵聽客戶請求,并將獲得的請求交給Engine 來處理,從Engine 處獲得回應并返回客戶。
Tomcat 有兩個典型的 Connector,一個直接偵聽來自 browser 的 http 請求,一個偵聽來自其他 WebServer 的請求。
Coyote Http/1.1 Connector 在端口 8080 處偵聽來自客戶 browser 的 http 請求:
Coyote JK2 Connector 在端口8009 處偵聽來自其他 WebServer(Apache)的servlet/jsp 代理請求。
(4)EngineEngine 下可以配置多個虛擬主機 Virtual Host,每個虛擬主機都有一個域名。當 Engine 獲得一個請求時,它把該請求匹配到某個 Host 上,然后把該請求交給該 Host來處理。
Engine 有一個默認虛擬主機,當請求無法匹配到任何一個 Host 上的時候,將交給該默認 Host 來處理。
(5)Host
Host 代表一個 Virtual Host,即虛擬主機,每個虛擬主機和某個網絡域名 DomainName 相匹配。
每個虛擬主機下都可以部署(deploy)一個或者多個Web App,每個 Web App 對應于-個Context,有一個Context path。
當 Host 獲得一個請求時,將把該請求匹配到某個Context 上,然后把該請求交給該 Context 來處理,匹配的方法是“最長匹配”,所以一個 path==""的 Context 將成為該 Host 的默認 Context。
所有無法和其他 Context 的路徑名匹配的請求都將最終和該默認 Context 匹配。
(6)Context
一個 Context 對應于一個 Web Application,一個 Web Application 由一個或者多個 Servlet 組成。

2.7建立Java的Web站點

執行下面步驟可以建立 Java 的 Web 站點。
(1)在根目錄下建立一個web目錄,并在里面建立一個webapp1目錄,用于存放網站文 件。
請添加圖片描述

(2)在webapp1 目錄下建立一個 index.jsp 的測試頁面。
請添加圖片描述

(3)修改Tomcat的server.xml 文件。定義一個虛擬主機,并將網站文件路徑指向已經建立的/web/webappl,在 host 段增加context 段。
請添加圖片描述

(4)關閉 Tomcat,再重新啟動。
請添加圖片描述

(5)確認 Web 站點
通過瀏覽器訪問 http://192.168.10.101:8080/,出現如圖 5.3 所示的頁面,說明該Tomcat 站點已經配置成功,并且已經能夠運行JSP 了。
請添加圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/910020.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/910020.shtml
英文地址,請注明出處:http://en.pswp.cn/news/910020.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

華為云Flexus+DeepSeek征文|基于華為云一鍵部署dify平臺構建合同審核助手應用實踐

目錄 前言 1 華為云一鍵部署Dify平臺 1.1 華為云Dify平臺介紹 1.2 部署過程介紹 1.3 登錄Dify平臺 2 接入華為云 ModelArts Studio 的 DeepSeek 大模型 2.1 獲取調用模型服務信息 2.2 在 Dify 中配置模型 3 構建合同審核助手應用 3.1 簡要介紹合同審核助手 3.2 開始…

三種經典算法無人機三維路徑規劃對比(SMA、HHO、GWO三種算法),Matlab代碼實現

代碼功能 該MATLAB代碼用于對比三種元啟發式優化算法(SMA、HHO、GWO三種算法, SMA黏菌算法、HHO哈里斯鷹優化算法、GWO灰狼優化算法) 在特定優化問題上的性能,運行環境MATLABR2020b或更高 : 初始化問題模型&#xff…

設計模式精講 Day 8:組合模式(Composite Pattern)

【設計模式精講 Day 8】組合模式(Composite Pattern) 開篇 在“設計模式精講”系列的第8天,我們將深入講解組合模式(Composite Pattern)。組合模式是一種結構型設計模式,它允許將對象組合成樹形結構以表示…

【Dify學習筆記】:RagFlow接入Dify基礎教程

RagFlow接入Dify基礎教程 如果RagFlow還沒部署,可參考我另一篇本地部署文章:【Dify學習筆記】:本地部署RagFlow適配Dify 一、RagFlow 1. 配置模型 點擊:頭像 > Model providers 添加模型供應商、設置默認模型Set default …

Apache ECharts-02.入門案例

一.入門案例 官網下載&#xff1a;下載 - Apache ECharts&#xff0c;下載echarts.js文件&#xff0c;下載好后在其同一個文件夾下創建html文件即可。 <!DOCTYPE html> <html><head><meta charset"utf-8" /><title>ECharts</title…

社群經濟視閾下開源AI智能名片鏈動2+1模式與S2B2C商城小程序在私域電商中的融合應用研究

摘要&#xff1a;在數字經濟與社交網絡深度融合的背景下&#xff0c;付費社群憑借精準用戶篩選、高價值成員聚合及強信任關系鏈等優勢&#xff0c;成為私域電商發展的核心載體。本文基于社群經濟理論&#xff0c;結合“開源AI智能名片鏈動21模式S2B2C商城小程序”的技術與商業邏…

【Tools】Mac brew工具

Homebrew&#xff08;簡稱 brew&#xff09;是 macOS&#xff08;也支持 Linux&#xff09;上的一款 包管理工具&#xff0c;它的作用類似于&#xff1a; Ubuntu 下的 aptCentOS 下的 yumArch Linux 下的 pacman 一句話概括&#xff1a; brew 是用來在 macOS 上安裝、管理軟件…

IEEE RAL 雙臂機器人三連抓估計物體狀態 無需特制夾爪或視覺相機 - 大阪大學萬偉偉老師團隊

IEEE RA-L | 萬偉偉老師團隊提出雙臂機器人規劃控制方法有效降低被抓物姿態不確定性 日本大阪大學萬偉偉老師團隊針對雙臂機器人開發了一種重復抓取規劃和阻抗控制的方法&#xff0c;該方法通過兩個機械臂依次尋找抓取位置和物體姿態&#xff0c;并通過三個正交抓取動作&#x…

AtomicInteger 和 volatile Integer對比

AtomicInteger 和 volatile Integer 雖然都與線程安全有關&#xff0c;但本質完全不同。它們的主要區別體現在原子性保證和功能上&#xff1a; &#x1f50d; 核心區別對比表 特性volatile IntegerAtomicInteger原子性? 不保證復合操作原子性? 保證所有操作的原子性自增操作…

一生一芯 PA2 RTFSC

從src/isa/riscv32/inst.c出發。 向上搜索&#xff0c;理解宏定義的含義。 R(i) #define R(i) gpr(i) R(i)&#xff1a;訪問第i號通用寄存器 會被替換為&#xff1a; #define gpr(idx) (cpu.gpr[check_reg_idx(idx)]) 分為兩個部分&#xff1a; cpu.gprcheck_reg_idx c…

深度學習——手寫數字識別

深度學習——手寫數字識別 學習深度學習的朋友應該對MNIST數據集不陌生吧&#xff0c;相信很多人在剛開始學習深度學習的時候都會用到MNIST數據集進行書寫數字識別。本篇文章參考魚書創建一個深度網絡來進行書寫數字識別的任務。 如上圖所示&#xff0c;這里使用的卷積層全都是…

HashMap算法高級應用實戰:頻率類子數組問題的5種破解模式

本文將深入剖析5種基于HashMap的高級模式&#xff0c;通過原理詳解、多語言實現、性能對比和工業級應用&#xff0c;助您徹底掌握頻率類子數組問題。 1. 深入解析&#xff1a;頻率類子數組問題 1.1 問題定義與分類 頻率類子數組問題是指需要統計或查找滿足特定元素頻率條件的…

【精選】計算機畢業設計HTML5智能寵物尋找與領養系統 跨平臺寵物匹配 地圖定位找寵 領養申請審核系統源碼+論文+PPT+講解

博主介紹&#xff1a; ?我是阿龍&#xff0c;一名專注于Java技術領域的程序員&#xff0c;全網擁有10W粉絲。作為CSDN特邀作者、博客專家、新星計劃導師&#xff0c;我在計算機畢業設計開發方面積累了豐富的經驗。同時&#xff0c;我也是掘金、華為云、阿里云、InfoQ等平臺…

拼多多商家端 anti_content 補環境分析

聲明 本文章中所有內容僅供學習交流使用&#xff0c;不用于其他任何目的&#xff0c;抓包內容、敏感網址、數據接口等均已做脫敏處理&#xff0c;嚴禁用于商業用途和非法用途&#xff0c;否則由此產生的一切后果均與作者無關&#xff01; 部分python代碼 import execjs impor…

電腦、手機長時間不關機可以嗎

電腦和手機常年處于開機狀態&#xff0c;只有在沒電或者系統提示更新的時候才會關機。那問題來了&#xff0c;電腦、手機長時間不關機到底可不可以呢&#xff1f;今天咱們就來好好嘮嘮。 手機長時間不關機的情況 先來說說手機。現在的智能手機功能越來越強大&#xff0c;我們…

「AI大數據」| 《華為:面向智能制造的工業大模型標準化研究報告》

今天給大家介紹 《華為:面向智能制造的工業大模型標準化研究報告》&#xff0c;這是一份由中國電子技術標準化研究院聯合華為等多家企業編寫的權威報告&#xff0c;聚焦工業大模型在智能制造領域的標準化發展。報告詳細分析了工業大模型的技術架構、應用場景、標準化現狀與挑戰…

Dinky1.2.3基于Kubernetes Application模式提交Flink作業

前言 Dinky 是一個開箱即用、易擴展&#xff0c;以 Apache Flink 為基礎&#xff0c;連接 OLAP 和數據湖等眾多框架的一站式實時計算平臺&#xff0c;致力于流批一體和湖倉一體的探索與實踐。 致力于簡化Flink任務開發&#xff0c;提升Flink任務運維能力&#xff0c;降低Flink…

【軟考高級架構設計師】——2025年上半年軟考真題(回憶版)

目錄 一、綜合知識1.1、計算機基礎與操作系統(15道單選)1.2、軟件工程與架構(16道單選)1.3、數據與網絡(8道單選)1.4、數學與邏輯(4道單選)1.5、其他(27道單選)1.6、英文題(質量屬性)(5道單選)二、案例分析2.1、大模型訓練系統(必選題)2.2、醫院知識圖譜(可選…

哈夫曼樹Python實現

哈夫曼樹構建原則&#xff1a; .統計頻率&#xff1a;對待編碼字符&#xff08;或數據塊&#xff09;的頻率進行統計。.初始化森林&#xff1a;將每個字符視為一棵只有根節點的二叉樹&#xff0c;權值為頻率。.合并樹&#xff1a;重復以下操作&#xff0c;直到只剩一棵樹&…

Dockerfile的學習與實踐

Dockerfile通過一系列的命令和參數&#xff0c;構建自定義鏡像。一般步驟如下&#xff1a; 一. 常用命令說明 基礎命令具體命令描述例子FROMFROM[基礎鏡像:版本號]基于指定的基礎鏡像構建自定義鏡像FROM eclipse-temurin:17-jdk-alpineRUNRUN構建容器需要運行的命令&#xff0…