目錄
- 1. 官網下載tar包
- 2. 上傳到指定目錄安裝
- 3. 組態檔
- 4. 配置nginx檢測腳本檔案
- 5. keepalived 啟動/重啟/停止/查看狀態
- 6. 查看日志
- 7. 瀏覽器訪問虛擬IP地址
1. 官網下載tar包
https://www.keepalived.org/
2. 上傳到指定目錄安裝
./configure --prefix=/usr/local/keepalived --sysconf=/etc
*** WARNING - this build will not support IPVS with IPv6. Please install libnl/libnl-3 dev libraries to support IPv6 with IPVS.
如果出現上述提示,則執行下面命令安裝libnl:
yum install -y libnl
make && make install
3. 組態檔
cd /etc/keepalived
cp keepalived.conf keepalived.conf.bak
vim keepalived.conf
組態檔內容如下:
! Configuration File for keepalived
global_defs {
# 負載均衡標識,在局域網內應該是唯一的,一般為主機名,
router_id 主機名稱
}
vrrp_script chk_http_port {
# 檢測心跳執行的腳本
script "/usr/local/src/nginx_check.sh"
# 檢測腳本執行間隔,單位:秒
interval 4
weight 2
}
vrrp_instance VI_1 {
# 指定keepalived的角色,MASTER為主,BACKUP為備
state MASTER
# 當前進行vrrp通訊的網路介面卡(當前centos的網卡)
interface ens33
# 指定VRRP實體ID(虛擬路由編號),范圍是0-255,主從要一直
virtual_router_id 202
# 優先級,數值越大,獲取處理請求的優先級越高, 優先級高的將成為MASTER,
priority 100
# 指定發送VRRP通告的間隔,默認為1s(vrrp組播周期秒數)
advert_int 1
# 設定驗證型別和密碼,MASTER和BACKUP必須使用相同的密碼才能正常通信
authentication {
# 指定認證方式,PASS簡單密碼認證(推薦),AH:IPSEC認證(不推薦),
auth_type PASS
# 指定認證所使用的密碼,最多8位,
auth_pass 2020
}
# 呼叫檢測腳本
track_script {
chk_http_port
}
# 定義虛擬ip(VIP),可多設,每行一個
virtual_ipaddress {
192.168.199.143
}
}
4. 配置nginx檢測腳本檔案
cd /usr/local/src
vim nginx_check.sh
腳本內容:
#!/bin/bash
A=`ps -C nginx --no-header | wc -l`
if [ $A -eq 0 ];then
/usr/local/nginx-1.18.0/sbin/nginx
sleep 4
if [ `ps -C nginx --no-header | wc -l` -eq 0 ];then
killall keepalived
fi
fi
5. keepalived 啟動/重啟/停止/查看狀態
systemctl start/restart/stop/status keepalived
注:啟動keepalived會執行nginx檢測腳本,此時如果nginx未啟動則會同時啟動nginx,
6. 查看日志
tail -f /var/log/messages
7. 瀏覽器訪問虛擬IP地址
192.168.199.143
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/276532.html
標籤:其他
