nginx+keepalived簡單雙機主從熱備
雙機主從熱備概述
可以兩臺機子互為熱備,平時各自負責各自的服務。在做上線更新的時候,關閉一臺伺服器的tomcat後,nginx自動把流量切換到另外一臺服務的後備機子上,從而實現無痛更新,保持服務的持續性,提高服務的可靠性,從而保證伺服器7*24小時執行。
首先使用keepalived虛擬VIP
刪除掉原來的 rm -rf /etc/keepalived/keepalived.conf
vi /etc/keepalived/keepalived.conf
新增:
vrrp_script chk_nginx {
script "/etc/keepalived/nginx_check.sh" #執行指令碼,指令碼內容下面有,就是起到一個nginx宕機以後,自動開啟服務
interval 2 #檢測時間間隔
weight -20 #如果條件成立的話,則權重 -20
}
# 定義虛擬路由,VI_1 為虛擬路由的標示符,自己定義名稱
vrrp_instance VI_1 {
state MASTER #來決定主從 MASTER為主 BACKUP為從
interface eth0 # 繫結虛擬 IP 的網路介面,根據自己的機器填寫 ip a指令檢視 (如下圖)
virtual_router_id 121 # 虛擬路由的 ID 號, 兩個節點設定必須一樣 121自己隨便定義 是個數字就OK
mcast_src_ip 192.168.91.7 #填寫本機ip
priority 100 # 節點優先順序,主要比從節點優先順序高
nopreempt # 優先順序高的設定 nopreempt 解決異常恢復後再次搶佔的問題
advert_int 1 # 組播資訊傳送間隔,兩個節點設定必須一樣,預設 1s
authentication { ##賬號密碼
auth_type PASS
auth_pass 1111
}
# 將 track_script 塊加入 instance 配置塊
track_script {
chk_nginx #執行 Nginx 監控的服務
}
virtual_ipaddress {
192.168.91.110 # 虛擬ip,也就是解決寫死程式的ip怎麼能切換的ip,也可擴充套件,用途廣泛。可配置多個。
}
}
Nginx+keepalived簡單雙機主從熱備
每個服務虛擬安裝keepalived 虛擬一個VIP ,配置主從關係,當主掛了,直接走備機。
Keepalived虛擬VIP 地址 192.168.91.666
A 伺服器 192.168.91.5 從
B 伺服器 192.168.91.7 主
Nginx安裝: https://www.cnblogs.com/toov5/p/9902692.html
安裝成功後修改主伺服器的Nginx html的index.html
’訪問: 真實實體地址訪問結果
啟動 service keepalived start
啟動日誌 tail -f /var/log/messages
成功!
或者 ip a
訪問虛擬ip
同理設定備機: 修改一個配置 state BACKUP 一個本地ip即可
vrrp_script chk_nginx {
script "/etc/keepalived/nginx_check.sh" #執行指令碼,指令碼內容下面有,就是起到一個nginx宕機以後,自動開啟服務
interval 2 #檢測時間間隔
weight -20 #如果條件成立的話,則權重 -20
}
# 定義虛擬路由,VI_1 為虛擬路由的標示符,自己定義名稱
vrrp_instance VI_1 {
state BACKUP #來決定主從 MASTER為主 BACKUP為從
interface eth0 # 繫結虛擬 IP 的網路介面,根據自己的機器填寫 ip a指令檢視 (如下圖)
virtual_router_id 121 # 虛擬路由的 ID 號, 兩個節點設定必須一樣 121自己隨便定義 是個數字就OK
mcast_src_ip 192.168.91.5 #填寫本機ip
priority 100 # 節點優先順序,主要比從節點優先順序高
nopreempt # 優先順序高的設定 nopreempt 解決異常恢復後再次搶佔的問題
advert_int 1 # 組播資訊傳送間隔,兩個節點設定必須一樣,預設 1s
authentication { ##賬號密碼
auth_type PASS
auth_pass 1111
}
# 將 track_script 塊加入 instance 配置塊
track_script {
chk_nginx #執行 Nginx 監控的服務
}
virtual_ipaddress {
192.168.91.110 # 虛擬ip,也就是解決寫死程式的ip怎麼能切換的ip,也可擴充套件,用途廣泛。可配置多個。
}
}
如果實現一主一備時候 虛擬VIP 只能在一臺伺服器存放
如果實現多主 多備情況 虛擬VIP 可以多臺存放
一主一備 虛擬ip一樣
但是 VIP是在主機上的 當主機宕機了之後 會在備機
啟動後:
虛擬vip只在主上
啟動 ngxin keeplived 服務
訪問
一直是主,重新整理
停止主 service keepalived stop 訪問
虛擬ip 跑這裡了 備機
啟動主