Tomcat 負載均衡

目錄

二、Tomcat Web Server

2.1 Tomcat 部署

2.1.1 Tomcat 介紹

2.1.2 Tomcat 安裝

?2.2 Tomcat 服務管理

2.2.1 Tomcat 啟停

2.2.2 目錄說明

2.2.3編輯主頁

?2.3 Tomcat管理控制臺

?2.3.1開啟遠程管理

2.3.2 配置遠程管理密碼

?三、負載均衡

3.1 重新編譯Nginx

3.1.1 確認環境

?3.1.2重新加壓編譯安裝

3.2 配置Nginx


二、Tomcat Web Server

2.1 Tomcat 部署

2.1.1 Tomcat 介紹

? ? ? ? Tomcat 官網:Apache Tomcat? - Welcome!

? ? ? ? Tomcat是在服務器中使用

????????Tomcat 雖然和 Apache HTTPD 或者 Nginx 服務器一樣,具有處理 HTML 頁面的功能,但是其處理靜態 HTML 的功能不及前兩者。 Tomcat 通常是作為Java 主頁的解析容器。

2.1.2 Tomcat 安裝

????????檢查Java 環境。

[root@localhost ~]# java -version
openjdk version "1.8.0_161"
OpenJDK Runtime Environment (build 1.8.0_161-b14)
OpenJDK 64-Bit Server VM (build 25.161-b14, mixed mode)
[root@localhost ~]#

? ? ? ? 安裝解壓軟件。

#1、安裝
wget https://archive.apache.org/dist/tomcat/tomcat-7/v7.0.54/bin/apache-tomcat-7.0.54.tar.gz -P ~/Desktop#2、解壓
tar xf ~/Desktop/apache-tomcat-7.0.54.tar.gz -C /usr/local#3、查看
[root@localhost ~]# ls
anaconda-ks.cfg Desktop Downloads Music Public Templates
apache-tomcat-7.0.54 Documents initial-setup-ks.cfg Pictures server.conf.sh Videos
[root@localhost ~]# mv apache-tomcat-7.0.54/ /usr/local/tomcat_7.0.54
[root@localhost ~]# ls -l /usr/local/tomcat_7.0.54/

?2.2 Tomcat 服務管理

2.2.1 Tomcat 啟停

????????開啟tomcat 服務。
[root@localhost ~]# cd /usr/local/tomcat_7.0.54/
[root@localhost tomcat_7.0.54]# ./bin/startup.sh
Using CATALINA_BASE: /usr/local/tomcat_7.0.54
Using CATALINA_HOME: /usr/local/tomcat_7.0.54
Using CATALINA_TMPDIR: /usr/local/tomcat_7.0.54/temp
Using JRE_HOME: /usr
Using CLASSPATH: /usr/local/tomcat_7.0.54/bin/bootstrap.jar:/usr/local/tomcat_7.0.54/bin/tomcat-juli.jar
Tomcat started.
[root@localhost tomcat_7.0.54]# netstat -anptul | grep ":8080"
tcp6 0 0 :::8080 :::* LISTEN 5706/java 
[root@localhost tomcat_7.0.54]#

? ? ? ? 在local/bin的目錄中,有.sh結尾的和.bat結尾的原因是因為tomcat不僅可以在Linux環境中運行,還可以在Windows環境中運行。?在Linux中啟動使用 ./startup.sh。

? ? ? ? 此時在client客戶端中也可以訪問:

? ? ? ? ?關閉Tomcat服務,停止就是運行 shutdown.sh。

[root@localhost ~]# cd /usr/local/tomcat_7.0.54/
[root@localhost tomcat_7.0.54]# ./bin/shutdown.sh
Using CATALINA_BASE: /usr/local/tomcat_7.0.54
Using CATALINA_HOME: /usr/local/tomcat_7.0.54
Using CATALINA_TMPDIR: /usr/local/tomcat_7.0.54/temp
Using JRE_HOME: /usr
Using CLASSPATH: /usr/local/tomcat_7.0.54/bin/bootstrap.jar:/usr/local/tomcat_7.0.54/bin/tomcat-juli.jar
[root@localhost tomcat_7.0.54]#

2.2.2 目錄說明

[root@localhost apache_tomcat_7.0.54]# ls -lh
total 96K
drwxr-xr-x 2 root root 4.0K Feb 3 22:24 bin         存放啟動或關閉tomcat 服務的腳本
drwxr-xr-x 3 root root 174 Feb 3 22:25 conf         存放tomcat 全局配置文件
drwxr-xr-x 2 root root 4.0K Feb 3 22:24 lib         存放tomcat 需要的庫文件
-rw-r--r-- 1 root root 56K May 20 2014 LICENSE
drwxr-xr-x 2 root root 197 Feb 3 22:25 logs         存放日志文件
-rw-r--r-- 1 root root 1.2K May 20 2014 NOTICE
-rw-r--r-- 1 root root 8.8K May 20 2014 RELEASE-NOTES
-rw-r--r-- 1 root root 16K May 20 2014 RUNNING.txt
drwxr-xr-x 2 root root 30 Feb 3 22:24 temp
drwxr-xr-x 7 root root 81 May 20 2014 webapps Web     應用部署目錄
drwxr-xr-x 3 root root 22 Feb 3 22:25 work jsp         編譯后產生的class 文件
[root@localhost apache_tomcat_7.0.54]#

2.2.3編輯主頁

????????Tomcat 默認應用: webapps/ROOT
????????Tomcat 默認主頁: webapps/ROOT/index.jsp
5個文件夾,就有五個網站。

???????剛進去看到的頁面是在ROOT中,修改jsp文件
將上面的圖片內容修改成為下面的圖片的內容:

?????????在客戶端中刷新

?2.3 Tomcat管理控制臺

?2.3.1開啟遠程管理

????????Tomcat 管理控制臺,能對 Web 應用進行管理,包括部署、啟動、停止、卸載的操作。管理控制臺配置文件: webapps/manager/META-INF/context.xml 。
????????開啟管理控制臺遠程連接。
vim /usr/local/apache-tomcat_7.0.54/webapps/manager/META-INF/context.xml

? ? ? ? ?將下面的代碼粘貼到上面打開的文件中。

<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
<Manager sessionAttributeValueClassNameFilter="java\.lang\.
(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?
|java\.util\.(?:Linked)?HashMap"/>

? ? ? ? ?配置完成之后不用重啟。

2.3.2 配置遠程管理密碼

????????進入管理控制臺需要使用帳密。配置文件地址: conf/tomcat-users.xml

<roleomca rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<user username="tomcat" password="tomcat" roles="manager-gui,manager-script,manager-jmx,manager-status,admingui,admin-script"/>

? ? ? ? 進入文件:

? ? ? ? ?將上面的代碼粘貼進去:

? ? ? ? 配置好之后需要重啟Tomcat服務:

? ? ? ? ?火狐中登錄查看:


?三、負載均衡

????????nginx負載均衡

????????當請求過來的時候,按照負載均衡算法分擔到.100,101,102的服務器中去,即分給服務器1,2,3.....中,就是所謂的服務器集群

????????客戶只知道自己是訪問tomcat,不知道自己訪問的是nginx,所以說叫反向代理

????????這里要反向代理,需要重新安裝nginx,網關中安裝。

????????具體過程是需要按照Tomcat安裝步驟,給Server和Syslog安裝Tomcat。

? ? ? ? ?因為上面的步驟中已經把Server中的Tomcat部署好了,這里只部署Syslog。

3.1 重新編譯Nginx

3.1.1 確認環境

? ? ? ? 確認開發環境是否安裝。

[root@localhost ~]# yum install zlib-devel pcre-devel -y
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
dvd | 3.6 kB 00:00:00 
Package zlib-devel-1.2.7-17.el7.x86_64 already installed and latest version
Package pcre-devel-8.32-17.el7.x86_64 already installed and latest version
Nothing to do
[root@localhost ~]#

????????確認賬號是否創建。

[root@localhost ~]# id nginx
uid=251(nginx) gid=1001(nginx) groups=1001(nginx)
[root@localhost ~]# grep "^nginx" /etc/passwd
nginx:x:251:1001::/home/nginx:/sbin/nologin
[root@localhost ~]#

? ? ? ? 網關中停止Nginx。

? ? ? ? ?刪除Nginx的文件。

? ? ? ? ?本地的Nginx也刪除。

?3.1.2重新加壓編譯安裝

[root@localhost ~]# tar xf Desktop/nginx-1.6.0.tar.gz
[root@localhost ~]# cd nginx-1.6.0/
[root@localhost nginx-1.6.0]# ./configure --prefix=/usr/local/nginx_1.6.0 --user=nginx --group=nginx --with-file-aio -
-with-http_stub_status_module --with-http_gzip_static_module --with-http_flv_module --with-openssl=/usr/bin/openssl
[root@localhost nginx-1.6.0]# make
[root@localhost nginx-1.6.0]# make install

????????make和make install 之后之后啟動。

?????????進入Nginx。

? ? ? ? 參數說明:

--user
指定用戶
--group
指定組
--with-file-aio
啟用文件修改
--with-http_stub_status_module
啟用狀態統計
--with-http_gzip_static_module
啟用 gzip 靜態壓縮
--with-http_flv_module
啟用 flv 模塊
--with-http_ssl_module
啟用 SSL 模塊

3.2 配置Nginx

vim /usr/local/nginx/conf/nginx.conf

????????反向代理把nginx的請求分發給tomcat。

????????注釋那原有的兩個頁面,然后加一個代理。

????????正確的配置如下:upstream 和Server是同一個級別的。

http{upstream ajest_server { 設置負載均衡服務器地址server 172.16.1.100:8080 weight=1;server 172.16.1.200:8080 weight=1;}server {location / {proxy_pass http://ajest_server; 啟用反代功能}
}

????????然后重啟nginx。

? ? ?設置的權重是一樣的,所以分配的時候是隨機的。

?????所以訪問http://192.168.1.254/時候是隨機分配到Server和Syslog的。

?????多刷新幾次就會有100和200的分別。

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

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

相關文章

使用SpringSecurity下,發生重定向異常

使用SpringSecurity下&#xff0c;發生空轉異常 環境信息&#xff1a; Spring Boot 3.4.4 &#xff0c; jdk 17 &#xff0c; springSecurity 6.4.4 問題背景&#xff1a; 沒有自定義controller &#xff0c;改寫了login 頁面&#xff0c;并且進行了成功后的跳轉處理&#xf…

S130N-ISI 全棧方案與云平臺深度協同:重構 PLC 開發新范式

一、什么是 PLC&#xff1f; 1.技術定義 PLC&#xff08;Power Line Communication&#xff09;是一種創新的通信技術&#xff0c;它以電力線作為天然的傳輸介質&#xff0c;通過先進的信號調制技術將高頻數據信號疊加于工頻電流之上&#xff0c;實現電力輸送與數據通信的雙頻共…

SU-YOLO:基于脈沖神經網絡的高效水下目標檢測模型解析

論文地址:https://arxiv.org/pdf/2503.24389 目錄 一、論文概述 二、創新點解析 1. 基于脈沖的水下圖像去噪(SpikeDenoiser) 原理與結構 2. 分離批歸一化(SeBN) 原理與結構 3. 優化的殘差塊(SU-Block) 原理與結構 三、代碼復現指南 環境配置 模型訓練 四、…

實現阿里云服務器上的文字聊天程序以及C語言寫的進程間通信(IPC)程序

實現阿里云服務器上的文字聊天程序以及C語言寫的進程間通信&#xff08;IPC&#xff09;程序 1. 基于 Linux 中的管道進行進程間通信 我們首先使用管道進行進程間通信&#xff0c;這對于簡單的聊天程序來說是一個比較簡單且實用的方法。 步驟&#xff1a; 創建管道&#xf…

COMSOL 與人工智能融合的多物理場應用:28個案例的思路、方法與工具概述

應用案例概述 基于 COMSOL 與人工智能&#xff08;AI&#xff09;結合的應用案例涵蓋了 28 個多領域場景&#xff0c;包括工程&#xff08;如熱傳導優化、結構力學預測&#xff09;、能源&#xff08;如電池熱管理、燃料電池性能&#xff09;、生物醫學&#xff08;如藥物傳遞…

SAN及其ZONE

目錄 一、什么是SAN? 二、什么是ZONE? 三、配置ZONE 2.1 核心概念 2.2 劃分原則 2.3 Zone劃分最佳實踐 2.4 配置語法 1). 基于端口&#xff08;Domain,Port&#xff09;的zone語法 2). 基于WWN&#xff08;World Wide Name&#xff09;的Zone語法 3). 使用Alias簡化配置 4).…

Springboot框架—單元測試操作

Springboot單元測試的操作步驟&#xff1a; 1.添加依賴spring-boot-starter-test 在pom.xml中添加依賴spring-boot-starter-test 2.在src/test/java下新建java class 3.單元測試入口代碼結構 import org.junit.Test; import org.junit.runner.RunWith; import org.springfra…

用AbortController取消事件綁定

視頻教程 React - &#x1f914; Abort Controller 到底是什么神仙玩意&#xff1f;看完這個視頻你就明白了&#xff01;&#x1f4a1;_嗶哩嗶哩_bilibili AbortController的好處之一是事件綁定的函數已無需具名函數,匿名函數也可以被取消事件綁定了 //該代碼2秒后點擊失效…

JavaScript性能優化(上)

1. 減少 DOM 操作 減少 DOM 操作是優化 JavaScript 性能的重要方法&#xff0c;因為頻繁的 DOM 操作會導致瀏覽器重繪和重排&#xff0c;從而影響性能。以下是一些具體的策略和技術&#xff0c;可以幫助有效減少 DOM 操作&#xff1a; 1.1. 批量更新 DOM 親切與母體&#xff…

OpenCV 圖形API(14)用于執行矩陣(或圖像)與一個標量值的逐元素乘法操作函數mulC()

操作系統&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 編程語言&#xff1a;C11 描述 將矩陣與標量相乘。 mulC 函數將給定矩陣 src 的每個元素乘以一個給定的標量值&#xff1a; dst ( I ) saturate ( src1 ( I ) ? multiplier ) \…

持續集成與Jenkins安裝使用教程

一、持續集成與Jenkins 持續集成&#xff08;Continuous integration&#xff0c;簡稱CI&#xff09;指的是&#xff0c;頻繁地&#xff08;一天多次&#xff09;將代碼集成到主干。 持續集成的目的&#xff0c;就是讓產品可以快速迭代&#xff0c;同時還能保持高質量。 它的…

TIM定時器

一、TIM定時器 STM32高級定時器實戰&#xff1a;PWM、捕獲與死區控制詳解-CSDN博客 玩轉STM32_rivencode的博客-CSDN博客 二、相關函數 1.TIM_TimeBaseInitTypeDef結構體講解 typedef struct {uint16_t TIM_Prescaler; // 預分頻器&#xff0c;用于設置定時器計數頻…

Python 小練習系列 | Vol.14:掌握偏函數 partial,用函數更絲滑!

&#x1f9e9; Python 小練習系列 | Vol.14&#xff1a;掌握偏函數 partial&#xff0c;用函數更絲滑&#xff01; 本節的 Python 小練習系列我們將聚焦一個 冷門但高能 的工具 —— functools.partial。它的作用類似于“函數的預設模板”&#xff0c;能幫你寫出更加靈活、優雅…

開源 PDF.js 文件編輯操作

一、PDF.js PDF.js 是 Mozilla 基金會推出的一個使用 HTML5 構建的 PDF 閱讀器&#xff0c;它完全使用 JavaScript 編寫。作為 Firefox 瀏覽器的默認 PDF 查看器&#xff0c;PDF.js 具有強大的兼容性和穩定性。它不僅支持 PDF 文件的查看和渲染&#xff0c;還提供了豐富的交互…

3D珠寶渲染用什么軟件比較好?渲染100邀請碼1a12

印度珠寶商 Mohar Fine Jewels 和英國寶石商 Gemfields 在今年推出了合作珠寶系列——「Emeralds in Full Bloom」&#xff0c;它的靈感源自花草綻放的春季田野&#xff0c;共有 39 件作品&#xff0c;下面這個以植物為主題的開口手鐲就是其中一件。 在數字時代&#xff0c;像這…

增益調度控制 —— 理論、案例與交互式 GUI 實現

目錄 增益調度控制 —— 理論、案例與交互式 GUI 實現一、引言二、增益調度控制的基本原理三、數學模型與公式推導四、增益調度控制的優勢與局限4.1 優勢4.2 局限五、典型案例分析5.1 案例一:航空飛行控制中的增益調度5.2 案例二:發動機推力控制中的增益調度5.3 案例三:化工…

PyTorch數據加載流程解析

1. 定義最簡單的Dataset import torch from torch.utils.data import Dataset, DataLoaderclass MyDataset(Dataset):def __init__(self, data):self.data data # 假設data是一個列表&#xff0c;如[10, 20, 30, 40]def __len__(self):return len(self.data) # 返回數據總量…

xsync腳本是一個基于rsync的工具

xsync腳本是一個基于rsync的工具&#xff0c;用于在集群間高效同步文件或目錄。以下是xsync腳本的詳細使用方法和配置步驟&#xff1a; 一、xsync腳本的作用 xsync腳本可以快速將文件或目錄分發到集群中的多個節點&#xff0c;避免了手動逐臺復制文件的繁瑣操作。它利用rsync…

250408_解決加載大量數據集速度過慢,耗時過長的問題

250408_解決加載Cifar10等大量數據集速度過慢&#xff0c;耗時過長的問題&#xff08;加載數據時多線程的坑&#xff09; 在做Cifar10圖像分類任務時&#xff0c;發現每個step時間過長&#xff0c;且在資源管理器中查看顯卡資源調用異常&#xff0c;主要表現為&#xff0c;顯卡…

Ansible的使用2

#### 一、Ansible變量 ##### facts變量 > facts組件是Ansible用于采集被控節點機器的設備信息&#xff0c;比如IP地址、操作系統、以太網設備、mac 地址、時間/日期相關數據&#xff0c;硬件信息等 - setup模塊 - 用于獲取所有facts信息 shell ## 常用參數 filter…