Nginx Keepalived 整合高可用

2021-09-24 09:41:48 字數 2905 閱讀 2189

2、解壓安裝

3、配置開機啟動

4、對 keepalived.conf 配置:

5、nginx_check.sh 指令碼:

6、啟動兩台機器的keepalived

7、測試

先安裝 keepalived 編譯需要依賴包:

yum install -y openssl openssl-devel
tar -zxvf keepalived-1.2.18.tar.gz -c /usr/local/  #解壓到 /usr/local/keepalived 目錄下

cd keepalived-1.2.18/ && ./configure --prefix=/usr/local/keepalived # prefix指定 keepalived 安裝路徑

make

&&make

install

將 keepalived 安裝成linux系統服務,因為沒有使用 keepalived 的預設安裝路徑(預設路徑:/usr/local),安裝完成之後,需要做一些修改工作:

mkdir /etc/keepalived

cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/

cp  /usr/local/keepalived/etc/rc.d/init.d/keepalived   /etc/init.d/

cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/

ln -s /usr/local/sbin/keepalived /usr/sbin/

ln -s /usr/local/keepalived/sbin/keepalived /sbin/

可以設定開機啟動:chkconfig keepalived on,到此我們安裝完畢。

vim  /etc/keepalived/keepalived.conf
keepalived.conf 配置檔案說明:

## ! configuration file for keepalived

global_defs

vrrp_script chk_nginx

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

vrrp_instance vi_1

track_script

virtual_ipaddress

}

對 chk_nginx 的說明:

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

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

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

## ! configuration file for keepalived

global_defs

vrrp_script chk_nginx

vrrp_instance vi_1

track_script

virtual_ipaddress

}

#!/bin/basha=`

ps -c nginx –no-header |

wc -l`if[

$a -eq 0 ]

;then

/usr/local/nginx/sbin/nginx

sleep 2

if[`

ps -c nginx --no-header |

wc -l`

-eq 0 ]

;then

killall keepalived

fifi

將 nginx_check.sh 指令碼分別copy到兩台機器的/etc/keepalived/資料夾下。

賦予可執行許可權:

chmod +x /etc/keepalived/nginx_check.sh
先啟動2臺機器的 nginx 之後,再啟動兩台機器的 keepalived。

啟動2臺機器的 nginx :

/usr/local/nginx/sbin/nginx  # 先啟動 nginx
再啟動 keepalived:

service keepalived start
檢視程序:

ps -ef |

grep nginx

ps -ef |

grep keepalived

可以進行測試,首先看一下倆臺機器的ip a命令下 都會出現乙個虛擬ip,我們可以停掉 乙個機器的keepalived,然後測試,命令:service keepalived stop。結果發現當前停掉的機器已經不可用,keepalived 會自動切換到另一台機器上。

我們可以測試在 nginx 出現問題的情況下,實現切換,這個時候我們只需要把nginx的配置檔案進行修改,讓其變得不可用,然後強殺掉nginx程序即可,發現也會實現自動切換伺服器節點。

nginx keepalived學習目錄

keepalived權威指南 深入理解nginx nginx模組開發與架構解析第二版 nginx開發從入門到精通 keepalived工作原理和配置說明 1 nginx安裝和介紹 2 nginx的啟動和停止 3 nginx程序模型 4 nginx處理請求過程 5 nginx配置一 6 nginx配置...

Nginx Keepalived 負載均衡

喜歡搞nginx,這兩天研究了一下nginx的負載配置 nginx平台搭建 nginx mysql php fpm搭建高效能nginx平台 單nginx負載均衡 nginx 負載均衡 配置全過程 熟悉上面的配置之後,今天我再來搞nginx keepalived 的配置,具體拓撲如下 一 安裝keep...

nginx keepalived雙機熱備

採用nginx實現反向 配置集群,實現軟f5的功能。nginx.conf的配置如下 server 192.168.2.134 8082 upstream socologin server access log home soco share nginx logs access.log access ...