基于國產銀河麒麟服務器SP3項目實戰(Nginx+Keepalive)實現高可用負載均衡

一、環境準備

192.168.113.11Nginx+Keepalive(Master)
192.168.113.22Nginx+keepalive(Backup)
192.168.113.33Nginx(web服務器)
192.168.113.44

Nginx(服務器)

?

二、環境搭建準備

2.1 Nginx源碼編譯安裝

參考作責之前發布《Nginx源碼編譯安裝》https://blog.csdn.net/m0_55213400/article/details/147066230?spm=1001.2014.3001.5501

2.2 Nginx配置負載均衡反向代理

? ? ? ? 192.168.113.11

? ? ? ? 192.168.113.22

    在http{ }模塊定義地址池upstream releserver {server 192.168.113.33:80;server 192.168.113.44:80;}server {listen       80;server_name  localhost;#charset koi8-r;#access_log  logs/host.access.log  main;location / {proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;proxy_connect_timeout 5s;proxy_read_timeout 30s;proxy_send_timeout 10s;proxy_pass http://releserver; 調用地址池}

2.3 web服務器配置? ? ? ??

? ? ? ? 192.168.113.33

? ? ? ? 192.168.113.44

? ? ? ? 站點目錄:自定義

        location / {#allow 0.0.0.0/24;  # 公司內網#allow 10.0.0.0/8;      # 內部服務器#deny all;              # 拒絕其他所有IPproxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;proxy_connect_timeout 5s;proxy_read_timeout 30s;proxy_send_timeout 10s;root   /usr/local/nginx/html/laoshi/admin;index  index.html index.htm;}

2.3 Keepalive編譯安裝

? ? ? ? keepalive官網下載鏈接https://www.keepalived.org/download.htmlhttps://www.keepalived.org/download.html

????????? 編譯步驟如下


yum install -y gcc gcc-c++ make automake autoconf libtooltar -zxvf keepalived-2.3.4.tar.gzcd keepalived-2.3.4/./configure   --prefix=/usr/local/keepalived   --sysconfdir=/etc   --with-init=systemd   --with-openssl   --with-snmpmake && make installcd /etc/keepalived/cp keepalived.conf.sample keepalived.conf

2.4?設置允許虛擬IP

? ? ? ? 主備都需要

echo 'net.ipv4.ip_nonlocal_bind = 1' >> /etc/sysctl.conf && sysctl -p

2.5 開始配置keepalive? ?主備都需要配置(重點)

????????virtual_router_id 51? 必須與主備保持一致

????????priority 100? ?如果主為100 則備低于100

????????auth_type PASS? ?必須主備保持一致
? ? ? ? auth_pass 1111? ? ?必須主備保持一致

! Configuration File for keepalivedglobal_defs {router_id 192.168.113.11
}vrrp_script check_nginx {script "/usr/local/bin/check_nginx.sh"interval 2 #每隔2S執行腳本weight -20}vrrp_instance VI_1 {state MASTERinterface ens33virtual_router_id 51priority 100advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.113.100 #定義虛擬IP}track_script {check_nginx}# Allow packets addressed to the VIPs above to be receivedaccept
}

? ? ? ? 判斷Nginx運行狀態腳本

#!/bin/bash
#檢查Nginx狀態是否存在
if [ $(ps -C nginx --no-header | wc -l) -eq 0 ];then#Nginx不存在systemctl restart nginxsleep 3#以防萬一再次嘗試重啟一下nginxif [ $(ps -C nginx --no-header | wc -l) -eq 0 ];then#重啟失敗 強制停止keepalived服務systemctl stop keepalivedexit 1fi
fi
exit 0 

三、驗證是否正常?

? ? ? ? 此時 虛擬IP正常顯示 master

? ? ? ? 此時 備主機不顯示虛擬IP

? ? ? ? 訪問測試 http://192.168.111.100

? ? ? ??訪問測試 http://192.168.111.100

? ? ? ? 主服務器關機測試

? ? ? ? VIP飄移正常

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

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

相關文章

K近鄰:從理論到實踐

K近鄰:從理論到實踐 文章目錄K近鄰:從理論到實踐1. 核心思想2. 距離度量3. k的選擇與誤差分析3.1 近似誤差3.2 估計誤差3.3 總誤差4. kd樹的構造與搜索4.1 kd樹的構造4.2 kd樹的搜索5. 總結6. K近鄰用于iris數據集分類6.1加載數據6.2加載模型并可視化1. …

Dokcer的安裝(ubuntu-20.04.6):

Dokcer的安裝(ubuntu-20.04.6): 1.添加Docker倉庫 #更新本地軟件包索引,獲取最新的軟件包信息 sudo apt-get update #安裝依賴包 sudo apt-get install -y \ ca-certificates \ curl \ gnupg \ lsb-release #創建密鑰存儲目錄 sudo mkdir -p /etc/apt/…

CT圖像重建原理

一、CT到底測了什么?硬件動作X 射線源與探測器陣列對置,圍著物體旋轉。每轉到一個角度 θ(也叫一個視角 / view),源發射扇形/平行的射線束,探測器陣列上有很多“通道/像素/bin”(記作索引 n&…

【pycharm】 ubuntu24.04 搭建uv環境

通過uv配置python環境 一直是conda環境 現在有個開源項目說用uv更快更好 所以在pycharm搞起。 一開始在在一個conda項目的里面某個項目里搞 發現會被conda 環境影響。 導致deepseed 安裝不了。 python 環境不對 # NOTE: We must explicitly request them as `dependencies` abo…

從軟件工程角度談企業管理

從軟件工程角度談企業管理企業管理,本質上是人與人之間的博弈。 管理的最大難題,不是定目標、不是寫流程,而是:如何讓個體的利益最大化路徑,與組織的整體目標一致? 這就是經濟學里的“激勵相容”。 在互聯網…

vue3 實現前端生成水印效果

vue3 實現前端生成水印效果首先一點哈,就是單純web前端生成水印只能作為警示使用,如果享徹底防住幾乎是不可能的,有無數種方式去掉web前端生成的水印,所以這種方式只當是一個君子協議吧。編寫水印組件 首先直接把這部分封裝成一個…

Armonia Mall超級數字生態WEB3商城的引領者

Armonia Mall是一個基于Web3技術的超級數字生態商城,旨在打造全球首家Web3數字普惠商城,幫助千萬行銷人實現數字生態創業,讓全球一億家庭共享數字經濟紅利。 Armonia Mall商城創始人:石玉華Armonia Mall七大超級機制(模…

Axios與Java Spring構建RESTful API服務集成指南

1 前后端分離時代的技術選擇 現在的Web開發,前后端分離已經不是什么新鮮事了。前端用什么?很多團隊選擇Axios。后端呢?Java Spring依然是企業級應用的首選。 Axios這個JavaScript庫確實好用,Promise-based的設計讓異步請求變得簡單…

Django ORM多對多關系實戰指南

一、Django 多對多關系的原理 在關系型數據庫中,多對多關系通常需要 第三張中間表 來維護兩張表之間的對應關系。 在 Django 中,你只需要定義 ManyToManyField,Django 會自動幫你創建這張中間表。 特點: 可以雙向查詢(…

STM32 單片機開發 - TIM 定時器(PWM)

一、硬件定時器高級控制定時器 Advanced Control Timers (TIM1/TIM8)通用定時器 General Purpose Timers (TIM2/TIM3/TIM4/TIM5)通用定時器 General Purpose Timers (TIM15/TIM16/TIM17)基本定時器 Basic Timers (TIM6/TIM7)表 1 定時器種類二、TIM 中 PWM 概念PWM 的基本原理就…

OpenCV內置分類器實現簡單的人臉識別

引言 人臉檢測是計算機視覺領域的基礎任務之一,廣泛應用于安防監控、人機交互、圖像美化等場景。今天我們將通過一段簡潔的Python代碼,使用OpenCV庫實現實時攝像頭人臉檢測功能。無論你是計算機視覺新手還是有經驗的開發者,這篇文章都能幫你理…

Tomcat 性能優化與高并發調優

Tomcat 性能優化與高并發調優1. 引言 經過前幾篇文章的學習,我們已經掌握了 Tomcat 的核心原理: Connector 連接器容器體系(Engine → Host → Context → Wrapper)Servlet 執行鏈路線程模型(Executor Worker&#xf…

MacOS M1安裝face_recognition

MacOS M1安裝face_recognition一致失敗,嘗試網上各種方法還是失敗,遂分享自己安裝成功的經歷。 conda虛擬環境python版本:3.9.23準備工作確保 Homebrew 已安裝 Homebrew 是 macOS 的包管理器,用于安裝依賴項。如果尚未安裝&#x…

動態庫和靜態庫的鏈接加載

靜態庫的鏈接與加載靜態庫(如.a或.lib文件)在編譯時直接鏈接到可執行文件中。編譯器會將靜態庫中實際用到的代碼復制到最終的可執行文件,生成獨立的二進制文件。優點是不依賴外部庫文件,但會導致可執行文件體積較大。生成靜態庫的…

如何處理在pytorch環境中已經安裝的matplotlib無法使用的問題

1 問題已經安裝好的matplotlib包無法在pytorch環境中使用。2 方法方法一:用命令安裝matplotlib :方法二:打開cmd,使用conda install matplotlib命令安裝matplotlib庫#輸入以下代碼段,查詢當前執行路徑import osos.sys.…

Linux基礎命令匯總

系統基礎指令 ls:列出目錄內容 ls -a:顯示所有文件(包括隱藏文件) ls -l:顯示詳細文件信息 ls /etc:列出 /etc 目錄內容 示例: cat:查看文件內容 cat /etc/os-release:查看系統版本信息 cat file1:顯示文件內容 cat file1 file2 > merged.txt:合并文件并輸出到新…

一場史詩級的冒險——Docker命令大航海!

各位親愛的開發者、運維勇士、以及所有對現代化軟件部署充滿好奇的小伙伴們!今天,我們將開啟一場史詩級的冒險——Docker命令大航海!我們將乘坐“Docker號”巨輪,駛向容器化技術的星辰大海。 這不是一篇枯燥的說明書,而…

告別依賴混亂:Spring IoC 容器與 DI 依賴注入入門精講

目錄 什么是 IoC IoC 介紹 傳統開發思路 解決方法 IoC 優勢 DI IoC & DI 使用 IoC 詳解 Bean 的存儲 Controller(控制器存儲) 獲取 bean 對象的其他方法 bean 命名 面試題之 ApplicationContext pk BeanFactory Service(服…

視頻理解學習筆記

目錄 VideoRefer VideoPrism 核心解密:通用視頻編碼器的力量 VideoRefer VideoRefer 是由浙江大學和阿里達摩院聯合推出的視頻對象感知與推理技術,增強視頻大型語言模型(Video LLMs)的空間-時間理解能力。簡單一點來說就是可以…

P1198題解

題目鏈接 開題第一件事看數據范圍.這里的范圍是二十萬,支持O(nlogn). 這是一個RMQ問題,同時要加點,我們因此考慮ST表或者線段樹.這里用線段樹是核彈打蚊子,沒有意義,我們因此考慮ST表.我們注意到如果加點操作需要改動ST表原來的東西ST表就會炸掉,我們就要考慮更高級的數據結構…