Keepalived保證Nginx高可用配置

2022-07-30 18:15:11 字數 2048 閱讀 7972

keepalived保證nginx高可用配置

部署環境

keepalived-1.2.18

nginx-1.6.2

vm虛擬機器redhat6.5-x64:192.168.1.201、192.168.1.201

xshell4

部署方案

主備部署

nginx:201、202 /etc/nginx/nginx.conf相同配置

keepalived:201-master、202-backup   虛擬ip設定為192.168.1.120

部署步驟

一、修改201、202上的分別安裝nginx和keepalived

參考:nginx:

keepalived:

二、編輯201、202 nginx首頁  用於區分 啟動nginx

三、檢視網絡卡兩台主機網絡卡  

四、配置keepalived.conf

201:vim /etc/keepalived/keepalived.conf

global_defs 

vrrp_script chk_nginx

## 定義虛擬路由 vi_1為自定義標識。

vrrp_instance vi_1

track_script

virtual_ipaddress

}

202:vim /etc/keepalived/keepalived.conf

global_defs 

vrrp_script chk_nginx

vrrp_instance vi_1

track_script

virtual_ipaddress

}

動態檢查指令碼/etc/keepalived/nginx_check.sh:

## keepalived 會定時執行指令碼並且對指令碼的執行結果進行分析,動態調整vrrp_instance的優先順序。這裡的權重weight 是與下面的優先順序priority有關,如果執行了一次檢查指令碼成功,則權重會-20,也就是由100 - 20 變成了80,master 的優先順序為80 就低於了backup的優先順序90,那麼會進行自動的主備切換。

如果指令碼執行結果為0並且weight配置的值大於0,則優先順序會相應增加。

如果指令碼執行結果不為0 並且weight配置的值小於0,則優先順序會相應減少。

當指令碼執行成功,keepalived被關閉,當nginx修復後需要手工啟動keepalived  才能使該主機nginx可用

#!/bin/bash

a=`ps -c nginx --no-heading|wc -l`

if [ $a -eq 0 ];then

/usr/local/nginx/sbin/nginx

sleep

2if [ `ps -c nginx --no-heading |wc -l` -eq 0 ];then

killall

keepalived

fifi

指令碼賦權:chmod +x  /etc/keepalived/nginx_check.sh

五、重啟keepalived

service keepalived restart

重新檢視ip a  多了乙個虛擬ip:192.168.1.120

參考:

MediaSoup demo模組增加nginx

相關連線 webrtc 框架學習 一 mediasoup基本框架學習 使用docker 搭建mediasoup服務 mediasoup demo模組增加nginx 使用docker 搭建mediasoup服務 github專案路徑 docker hub 路徑 nginx 配置檔案 nginx.con...

elasticsearch集群蒐集nginx日誌

20200616一篇es的好文 3臺es集群 elasticsearch 7.3.2 filebeat 7.3.2 kibana 7.3.2 es1的配置 es2的配置 es3的配置 如果用的filebeat,蒐集的nginx日誌 檔案輸入 filebeat.inputs 檔案輸入型別 type l...

Keepalived 配置說明

1 環境準備 系統需要的 linux 版本為 2.6.9 5.elsmp 需要的keepalived 版本為 1.1.20 檢查 linux版本 root test01 etc uname r 2.6.9 5.elsmp 檢查 keepalived 版本 root test01 keepalived...