Nginx與Tomcat負載均衡集群配置指南

目錄

一、資源清單

二、基礎環境

三、安裝配置Tomcat

四、安裝配置Nginx


一、資源清單

主機

操作系統

IP地址

tomcat1

OpenEuler24.03

192.168.16.142

tomcat2

OpenEuler24.03

192.168.16.143

Nginx

OpenEuler24.03

192.168.16.144

二、基礎環境

hostnamectl set-hostname tomcat1
hostnamectl set-hostname tomcat2
hostnamectl set-hostname nginx

三、安裝配置Tomcat

1.安裝依賴

dnf -y install tar
rpm -ivh jdk-8u102-linux-x64.rpm

2.解壓并安裝

tar xf apache-tomcat-9.0.8.tar.gz
mv apache-tomcat-9.0.8/ /usr/local/tomcat9

3.啟動Tomcat

/usr/local/tomcat9/bin/startup.sh

4.訪問測試

http://192.168.16.142:8080/
http://192.168.16.143:8080/

5.創建存放網頁的文件

mkdir -pv /web/webapp1

6.建立網頁測試文件

vi /web/webapp1/index.jsp<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <html>
<head>
<title>JSP test2 page</title> </head>
<body>
<% out.println("動態頁面 2,http://www.test2.com") ;%> </body>
<body>
<div>動態頁面的圖片 2</div><br><img src="logo.png">
</body>
</html>

7.修改Tomcat的server.xml文件(162行后添加)

vi /usr/local/tomcat9/conf/server.xml<Context docBase="/web/webapp1" path="" reloadable="false" ></Context>

8.重啟Tomcat

/usr/local/tomcat9/bin/shutdown.sh
/usr/local/tomcat9/bin/startup.sh

四、安裝配置Nginx

1.安裝Nginx

dnf install -y gcc make pcre-devel zlib-devel openssl-devel perl-ExtUtils-MakeMaker tar
useradd -M -s /sbin/nologin nginx 
tar zxf nginx-1.26.3.tar.gz
cd nginx-1.26.3 
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_v2_module --with-pcre 
make && make install

2.配置Nginx.conf

vi /usr/local/nginx/conf/nginx.conf#(33行下添加)
upstream tomcat_server {server 192.168.16.142:8080 weight=1;server 192.168.16.143:8080 weight=1;}# 動態頁面正則(48行下添加)
location ~ .*.jsp$ {
proxy_set_header HOST $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header Client-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://tomcat_server;}# 靜態圖片正則
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { root /usr/local/nginx/html/img;expires 30d;}

3.創建靜態文件目錄并上傳圖片

mkdir /usr/local/nginx/html/img
mv /root/logo.png /usr/local/nginx/html/img/
ls /usr/local/nginx/html/img
logo.png

4.添加網頁測試文件

vi /usr/local/nginx/html/index.html<!DOCTYPE html><html><head><meta http-equiv="content-type" content="text/html;charset=utf-8"><title>靜態頁面</title><style>body {width: 35em;margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif;}</style></head><body><h1>靜態頁面</h1><p>這是個靜態頁面</p></body></html>

5.測試配置文件是否正確

/usr/local/nginx/sbin/nginx -t

6.啟動Nginx服務

/usr/local/nginx/sbin/nginx

7.測試靜態網頁

8.測試負載均衡

a.更改tomcat1網頁

vi /web/webapp1/index.jsp<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <html>
<head>
<title>JSP test2 page</title> </head>
<body>
<% out.println("動態頁面 1,http://www.test1.com") ;%> </body>
<body>
<div>動態頁面的圖片 2</div><br><img src="logo.png">
</body>
</html>

b.測試

多次訪問?http://192.168.16.144/index.jsp?應輪流顯示來自tomcat1和tomcat2的響應

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

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

相關文章

【數據處理】xarray 數據處理教程:從入門到精通

目錄 xarray 數據處理教程&#xff1a;從入門到精通一、簡介**核心優勢** 二、安裝與導入1. 安裝2. 導入庫 三、數據結構&#xff08;一&#xff09;DataArray&#xff08;二&#xff09; Dataset&#xff08;三&#xff09;關鍵說明 四、數據操作&#xff08;一&#xff09;索…

網站漏洞存在哪些危害,該如何做好預防?

網站漏洞的危害及預防措施 一、網站漏洞的主要危害 網站漏洞是攻擊者利用系統、應用或配置中的缺陷&#xff0c;實施惡意行為的入口。其危害包括但不限于以下方面&#xff1a; 數據泄露與隱私侵犯 危害&#xff1a;攻擊者通過SQL注入、XSS等漏洞竊取用戶數據&#xff08;如密…

WEB攻防-PHP漏洞解析

Web攻防之PHP漏洞解析 目錄結構 引言 1.1 PHP在CTF Web方向的核心地位1.2 報告目標與結構說明1.3 PHP安全研究的方法論代碼執行漏洞 2.1 漏洞原理與歷史演進2.2 危險函數全解析與利用鏈2.3 繞過過濾的20種高級技巧2.4 實戰案例&#xff1a;從CVE到CTF賽題復現2.5 防御方案與安…

YOLO11解決方案之距離計算探索

概述 Ultralytics提供了一系列的解決方案&#xff0c;利用YOLO11解決現實世界的問題&#xff0c;包括物體計數、模糊處理、熱力圖、安防系統、速度估計、物體追蹤等多個方面的應用。 測量兩個物體之間的間距被稱為特定空間內的距離計算&#xff0c;YOLO11使用兩個邊界框的中心…

mongodb處理時區轉換問題

1. 程序查詢直接使用&#xff08;java&#xff09;Date即可, 因為直接支持 2. 若方便查看日期需要進行格式和時區轉換 db.task.aggregate([{ $match: {userId: 113633}},{ $project: {userId: 1,endTime: 1,formattedDate: {$dateToString: {format: "%Y-%m-%d %H:%M:%S&…

基于中心點預測的視覺評估與可視化流程

基于中心點預測的視覺評估與可視化流程 基于中心點預測的視覺評估與可視化流程一、腳本功能概覽二、可視化與評分機制詳解1. 真實框解析2. 調用模型處理幀3. 預測中心點與真實值的對比4. 打分策略5. 圖像可視化三、目錄結構要求四、運行方式五、應用場景與拓展思路六、總結七,…

Comparator 比較器

在Java中&#xff0c;Comparator.comparingInt(String::length) 是一個用于創建比較器&#xff08;Comparator&#xff09;的靜態方法調用&#xff0c;它的核心作用是定義一個比較規則&#xff0c;使對象按照特定屬性&#xff08;這里是字符串長度&#xff09;進行比較。下面從…

無人設備遙控器之無線通訊技術篇

無人設備遙控器的無線通訊技術是確保遙控操作準確、穩定、高效進行的關鍵。以下是對無人設備遙控器無線通訊技術的詳細解析&#xff1a; 一、主要無線通訊技術類型 Wi-Fi通訊技術 原理&#xff1a;基于IEEE 802.11標準&#xff0c;通過無線接入點&#xff08;AP&#xff09;…

Android Coli 3 ImageView load two suit Bitmap thumb and formal,Kotlin(七)

Android Coli 3 ImageView load two suit Bitmap thumb and formal&#xff0c;Kotlin&#xff08;七&#xff09; 在 Android Coli 3 ImageView load two suit Bitmap thumb and formal&#xff0c;Kotlin&#xff08;六&#xff09;-CSDN博客 的基礎上改進&#xff0c;主要是…

ET EntityRef EntityWeakRef 類分析

EntityRef EntityWeakRef 相同點 也是這兩個的作用&#xff1a;這兩個都是用來表示一個實體引用。一般來說使用一個對象&#xff0c;直接持有對象就可以&#xff0c;但是如果對象來自于對象池&#xff0c;這個時候直接持有對象不合適&#xff0c;對象可能已經被對象池回收&…

基于Leaflet和天地圖的免費運動場所WebGIS可視化-以長沙市為例

目錄 前言 一、免費運動場所數據整理 1、本地寶數據簡介 2、Java后臺數據解析 二、Leaflet前端地圖展示 1、基礎數據準備 2、具體位置及屬性標記 三、成果展示 1、空間位置分布 2、東風路立交橋運動公園 3、芙蓉區花侯路瀏陽河大橋下方 4、梅嶺國際小區 5、湖南大學…

Flutter——數據庫Drift開發詳細教程(六)

目錄 1.視圖2.視圖中列的可空性3.DAO4.流查詢5.高級用途6.注意事項 1.視圖 也可以將SQL 視圖定義 為 Dart 類。為此&#xff0c;請編寫一個抽象類來擴展View。此示例聲明了一個視圖&#xff0c;用于讀取示例中架構中某個類別中添加的待辦事項數量&#xff1a; abstract class C…

Kafka 4.0版本的推出:數據處理新紀元的破曉之光

之前做大數據相關項目&#xff0c;在項目中都使用過kafka。在數字化時代&#xff0c;數據如洪流般涌來&#xff0c;如何高效處理這些數據成為關鍵。Kafka 就像是一條 “智能數據管道”&#xff0c;在數據的世界里扮演著至關重要的角色。如果你第一次接觸它&#xff0c;不妨把它…

RabbitMQ高級篇-MQ的可靠性

目錄 MQ的可靠性 1.如何設置數據持久化 1.1.交換機持久化 1.2.隊列持久化 1.3.消息持久化 2.消息持久化 隊列持久化&#xff1a; 消息持久化&#xff1a; 3.非消息持久化 非持久化隊列&#xff1a; 非持久化消息&#xff1a; 4.消息的存儲機制 4.1持久化消息&…

ctfshow權限維持

1&#xff0c;web670 我們先看一下這個php代碼 error_reporting(0);#關閉錯誤報告 highlight_file(__FILE__);#內容高亮顯示$a$_GET[action];#get傳參switch($a){case cmd:eval($_POST[cmd]);break;case check:file_get_contents("http://checker/api/check");#獲取…

力扣算法ing(71 / 100)

5.15 哈希表合集—349.兩個數組的交集 給定兩個數組 nums1 和 nums2 &#xff0c;返回 它們的 交集 。輸出結果中的每個元素一定是 唯一 的。我們可以 不考慮輸出結果的順序 。 示例 1&#xff1a; 輸入&#xff1a;nums1 [1,2,2,1], nums2 [2,2] 輸出&#xff1a;[2]示例…

(面試)Handler消息處理機制原理

Handler是用于實現線程間通信和任務調度的一種機&#xff08;Handler、 Looper、MessageQueue、 Message&#xff09;。Handler 允許線程間發送Message或Runnable對象進行通信。在Android中UI修改只能通過UI Thread&#xff0c;子線程不能更新UI。如果子線程想更新UI&#xff0…

Dify 實戰教程 | 5分鐘打造文本生成應用( Stable Diffusion 提示詞生成器)

AI 繪畫離不開「提示詞&#xff08;Prompt&#xff09;」——如何構造清晰、生動、有表現力的提示詞&#xff0c;直接決定你生成圖像的質量。而 Stable Diffusion 的提示詞構造相比 Midjourney 更加自由&#xff0c;但也更考驗組織語言的能力。 今天這篇教程&#xff0c;教你零…

RPC框架源碼分析學習(二)

RPC框架源碼分析與原理解讀 前言 在分布式系統開發中&#xff0c;遠程過程調用(RPC)是一項基礎且關鍵的技術。通過對KVstorageBaseRaft-cpp項目RPC模塊的源碼分析&#xff0c;我深入理解了RPC框架的工作原理和實現細節。本文將從程序員視角分享我的學習心得。 框架概述 本項…

當下流行的智能體通信協議:MCP、A2A、ANP 分別是什么?

在當前人工智能&#xff08;AI&#xff09;智能體生態系統中&#xff0c;智能體之間的有效溝通至關重要。為了讓AI智能體能夠高效、安全地協同工作&#xff0c;業界提出了多種通信協議。其中&#xff0c;MCP、A2A 和 ANP 代表了三個關鍵層級的通信協議&#xff0c;各自應對不同…