nginx負載均衡及keepalive高可用

實驗前期準備:

5臺虛擬機:4臺當做服務器,1臺當做客戶機(當然,也可以使用主機的瀏覽器),4臺服務器中,2臺服務器當做后端真實訪問服務器;另外2臺服務器當做負載均衡服務器。

并且關閉所有防火墻及核心防護

systemctl stop firewalld
setenforce 0

后端真實服務器1:

yum -y install epel-release
yum -y install nginx
echo '自定義內容1'>/usr/share/nginx/html/index.html
systemctl start nginx
curl 127.1	#查看nginx內容

自定義訪問內容

后端真實服務器2:

yum -y install epel-release
yum -y install nginx
echo '自定義內容2'>/usr/share/nginx/html/index.html
systemctl start nginx
curl 127.1	#查看nginx內容

自定義訪問內容(建議2者不要一樣,方便可以觀察變化)

負載均衡器1:

yum -y install epel-release
yum -y install nginx
vim /etc/nginx/nginx.conf
[#http模塊下
upstream web {
server 真實服務器1;
server 真實服務器2;
}#server模塊下
location / {
proxy_pass http://web;
}
]
systemctl start nginx

先做好負載均衡可以使用 'curl 127.1' 命令,查看是否是真實服務1,2的自定義內容。

yum -y install keepalive
vim /etc/keepalive/keepalive.conf
[
global_defs {router_id LVS_01#vrrp_strict
}vrrp_script check_down {script  "/etc/keepalived/ng.sh"interval 1weight -30fall  3rise 2timeout 2
}vrrp_instance VI_1 {state MASTERinterface ens33virtual_router_id 50priority 100advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.174.188}track_script {check_down}
}
]
vim /etc/keepalived/ng.sh
{
killall -0 nginx
}
systemctl start keepalived.service
systemctl start nginx.service

主配置內容:

全局配置:自定義當前路由器唯一標識符為“LVS_01” ;注釋掉嚴格模式檢查。

vrrp健康檢查:健康檢查路徑;每秒執行一次;當腳本檢測失敗優先級降低30;連續3次失敗,鑒定為故障;連續2次成功,鑒定為恢復正常;腳本執行等待時間為2秒。

vrrp配置:初始為主設備;使用ens33網卡;虛擬路由組為50(主從一致);起始優先級為100;vrrp通告間隔為1秒;認證設置為密碼認證,密碼為1111(主從一致);定義的虛擬IP地址為192.168.174.188;關聯的健康檢查腳本為check_down。

負載均衡器2:

yum -y install epel-release
yum -y install nginx
vim /etc/nginx/nginx.conf
[#http模塊下
upstream web {
server 真實服務器1;
server 真實服務器2;
}#server模塊下
location / {
proxy_pass http://web;
}
]
systemctl start nginx

先做好負載均衡可以使用 'curl 127.1' 命令,查看是否是真實服務1,2的自定義內容。

yum -y install keepalive 
vim /etc/keepalive/keepalive.conf
[
global_defs {router_id LVS_02#vrrp_strict
}vrrp_script check_down {script  "/etc/keepalived/ng.sh"interval 1weight -30fall  3rise 2timeout 2
}vrrp_instance VI_1 {state BACKUPinterface ens33virtual_router_id 50priority 99advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.174.188}track_script {check_down}
}]
vim /etc/keepalived/ng.sh
{
killall -0 nginx
}
systemctl start keepalived.service
systemctl start nginx.service

從配置內容:

全局配置:自定義當前路由器唯一標識符為“LVS_02” ;注釋掉嚴格模式檢查。

vrrp健康檢查:健康檢查路徑;每秒執行一次;當腳本檢測失敗優先級降低30;連續3次失敗,鑒定為故障;連續2次成功,鑒定為恢復正常;腳本執行等待時間為2秒。

vrrp配置:初始為從設備;使用ens33網卡;虛擬路由組為50(主從一致);起始優先級為99;vrrp通告間隔為1秒;認證設置為密碼認證,密碼為1111(主從一致);定義的虛擬IP地址為192.168.174.188;關聯的健康檢查腳本為check_down。

實驗驗證:

使用瀏覽器訪問192.168.174.188

關閉主配置,再來查看是否對訪問造成影響:

此時的從設備:獲得了虛擬IP地址

我們重新打開主設備來查看主從的變化:

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

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

相關文章

go語法大賞

前些日子單機房穩定性下降,找了好一會才找到真正的原因。這里面涉及到不少go語法細節,正好大家一起看一下。 一、仿真代碼 這是仿真之后的代碼 package mainimport ("fmt""go.uber.org/atomic""time" )type StopSignal…

Android 14 解決打開app出現不兼容彈窗的問題

應用安裝到 Android 14 上,出現如下提示 This app isn’t compatible with the latest version of Android. Check for an update or contact the app’s developer. 通過源碼找原因。 提示的字符 根據字符找到 ./frameworks/base/core/res/res/values/strings.xm…

Linux句柄數過多問題排查

以下是Linux句柄數過多問題的排查與解決方法整理&#xff1a; 一、檢測句柄使用情況 1?.查看系統限制? 單個進程限制&#xff1a;ulimit -n 系統級總限制&#xff1a;cat /proc/sys/fs/file-max 2?.統計進程占用量? 查看指定進程&#xff1a;lsof -p <PID> | wc -…

matlab插值方法(簡短)

在MATLAB中&#xff0c;可以使用interp1函數快速實現插值。以下代碼展示了如何使用spline插值方法對給定數據進行插值&#xff1a; x1 [23,56]; y1 [23,56]; X 23:1:56*4; Y interp1(x1,y1,X,spline);% linear、 spline其中&#xff0c;x1和y1是已知數據點&#xff0c;X是…

時間篩掉了不夠堅定的東西

2025年5月17日&#xff0c;16~25℃&#xff0c;還好 待辦&#xff1a; 《高等數學1》重修考試 《高等數學2》備課 《物理[2]》備課 《高等數學2》取消考試資格學生名單 《物理[2]》取消考試資格名單 職稱申報材料 2024年稅務申報 5月24日、25日監考報名 遇見&#xff1a;敲了一…

hexo博客搭建使用

搭建 Hexo 演示主題為&#xff1a;Keep 使用 文章 創建新文章 ? zymore-blog-keep git:(main) ? hexo new "告別H5嵌入&#xff01;uniApp小程序文件下載與分享完整解決方案" INFO Validating config INFO Created: ~/Desktop/HelloWorld/zymore-blog-k…

React組件開發流程-03.1

此章先以一個完整的例子來全面了解下React組件開發的流程&#xff0c;主要是以代碼為主&#xff0c;在不同的章節中會把重點標出來&#xff0c;要完成的例子如下&#xff0c;也可從官網中找到。 React組件開發流程 這只是一個通用流程&#xff0c;在熟悉后不需要完全遵從。 …

Cloudflare防火墻攔截谷歌爬蟲|導致收錄失敗怎么解決?

許多站長發現網站突然從谷歌搜索結果中“消失”&#xff0c;背后很可能是Cloudflare防火墻誤攔截了谷歌爬蟲&#xff08;Googlebot&#xff09;&#xff0c;導致搜索引擎無法正常抓取頁面。 由于Cloudflare默認的防護規則較為嚴格&#xff0c;尤其是針對高頻訪問的爬蟲IP&…

Ubuntu系統安裝VsCode

在Linux系統中&#xff0c;可以通過.deb文件手動安裝Visual Studio Code&#xff08;VS Code&#xff09;。以下是詳細的安裝步驟&#xff1a; 下載.deb文件 訪問Visual Studio Code的官方網站。 在下載頁面中&#xff0c;找到適用于Linux的.deb文件。 根據你的系統架構&…

降本增效雙突破:Profinet轉Modbus TCP助力包布機產能與穩定性雙提升

在現代工業自動化領域&#xff0c;ModbusTCP和Profinet是兩種常見的通訊協議。它們在數據傳輸、設備控制等方面有著重要作用。然而&#xff0c;由于這兩種協議的工作原理和應用環境存在差異&#xff0c;直接互聯往往會出現兼容性問題。此時&#xff0c;就需要一種能夠實現Profi…

Python對JSON數據操作

在Python中&#xff0c;對JSON數據進行增刪改查及加載保存操作&#xff0c;主要通過內置的json模塊實現。 一、基礎操作 1. 加載JSON數據 ? 從文件加載 使用json.load()讀取JSON文件并轉換為Python對象&#xff08;字典/列表&#xff09;&#xff1a; import json with open…

Linux詳解基本指令(一)

?? 歡迎大家來到小傘的大講堂?? &#x1f388;&#x1f388;養成好習慣&#xff0c;先贊后看哦~&#x1f388;&#x1f388; 所屬專欄&#xff1a;LInux_st 小傘的主頁&#xff1a;xiaosan_blog 制作不易&#xff01;點個贊吧&#xff01;&#xff01;謝謝喵&#xff01;&a…

Node-Red通過Profinet轉ModbusTCP采集西門子PLC數據配置案例

一、內容簡介 本篇內容主要介紹Node-Red通過node-red-contrib-modbus插件與ModbusTCP設備進行通訊&#xff0c;這里Profinet轉ModbusTCP網關作為從站設備&#xff0c;Node-Red作為主站分別從0地址開始讀取10個線圈狀態和10個保持寄存器&#xff0c;分別用Modbus-Read、Modbus-…

React方向:react的基本語法-數據渲染

1、安裝包(js庫) yarn add babel-standalone react react-dom 示例圖.png 2、通過依賴包導入js庫文件 <script src"../node_modules/babel-standalone/babel.js"></script> <script src"../node_modules/react/umd/react.development.js"&g…

k8s部署grafana

部署成功截圖&#xff1a; 要在 Kubernetes (K8s) 集群中拉取 Grafana 鏡像并創建 Grafana 容器&#xff0c;您可以按照以下步驟使用命令行完成操作。下面是完整的命令步驟&#xff0c;包括如何創建 Deployment 和 Service&#xff0c;以及如何將 Grafana 容器暴露給外部。1. 創…

基于注意力機制與iRMB模塊的YOLOv11改進模型—高效輕量目標檢測新范式

隨著深度學習技術的發展,目標檢測在自動駕駛、智能監控、工業質檢等場景中得到了廣泛應用。針對當前主流目標檢測模型在邊緣設備部署中所面臨的計算資源受限和推理效率瓶頸問題,YOLO系列作為單階段目標檢測框架的代表,憑借其高精度與高速度的平衡優勢,在工業界具有極高的應…

uniapp運行到微信開發者工具報錯“更改appid失敗touristappidError:tourist appid”

原因分析 因為項目還沒配置自己的 小程序 AppID&#xff0c;導致微信開發者工具拒絕運行。 解決辦法&#xff1a;在 HBuilderX 中設置 AppID 打開你的項目 在左側找到并點擊 manifest.json 文件 切換到上方的 tab&#xff1a;「小程序配置」標簽頁 找到微信小程序區域&#…

使用Thrust庫實現異步操作與回調函數

文章目錄 使用Thrust庫實現異步操作與回調函數基本異步操作插入回調函數更復雜的回調示例注意事項 使用Thrust庫實現異步操作與回調函數 在Thrust庫中&#xff0c;你可以通過CUDA流(stream)來實現異步操作&#xff0c;并在適當的位置插入回調函數。以下是如何實現的詳細說明&a…

mysql-Java手寫分布式事物提交流程

準備 innodb存儲引擎開啟支持分布式事務 set global innodb_support_axon分布式的流程 詳細流程&#xff1a; XA START ‘a’; 作用&#xff1a;開始一個新的XA事務&#xff0c;并分配一個唯一的事務ID ‘a’。 說明&#xff1a;在這個命令之后&#xff0c;所有后續的SQL操…

算法練習:19.JZ29 順時針打印矩陣

錯誤原因 總體思路有&#xff0c;但不夠清晰&#xff0c;一直在邊調試邊完善。這方面就養成更好的構思習慣&#xff0c;以及漲漲經驗吧。 分析&#xff1a; 思路&#xff1a;找規律 兩個坑&#xff1a; 一次循環的后半段是倒著遍歷的是矩陣不是方陣&#xff0c;要考慮行列…