中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何用keepalived和nginx實現高可用

發布時間:2020-06-18 17:08:53 來源:億速云 閱讀:397 作者:元一 欄目:系統運維

一、keepalived

Keepalived的作用是檢測服務器的狀態,如果有一臺web服務器宕機,或工作出現故障,Keepalived將檢測到,并將有故障的服務器從系統中剔除,同時使用其他服務器代替該服務器的工作,當服務器工作正常后Keepalived自動將服務器加入到服務器群中,這些工作全部自動完成,不需要人工干涉,需要人工做的只是修復故障的服務器。

安裝keepalived

yum方式直接安裝即可,該方式會自動安裝依賴:

Copy
yum -y install keepalived
修改主機(192.168.30.21)keepalived配置文件

yum方式安裝的會生產配置文件在/etc/keepalived下:

Copy
vi keepalived.conf
keepalived.conf:

Copy
#檢測腳本
vrrp_script chk_http_port {
script "/usr/local/src/check_nginx_pid.sh" #心跳執行的腳本,檢測nginx是否啟動
interval 2                          #(檢測腳本執行的間隔,單位是秒)
weight 2                            #權重
}
#vrrp 實例定義部分
vrrp_instance VI_1 {
state MASTER            # 指定keepalived的角色,MASTER為主,BACKUP為備
interface eth0         # 當前進行vrrp通訊的網絡接口卡(當前centos的網卡) 用ifconfig查看你具體的網卡
virtual_router_id 66    # 虛擬路由編號,主從要一致
priority 100            # 優先級,數值越大,獲取處理請求的優先級越高
advert_int 1            # 檢查間隔,默認為1s(vrrp組播周期秒數)
#授權訪問
authentication {
auth_type PASS #設置驗證類型和密碼,MASTER和BACKUP必須使用相同的密碼才能正常通信
auth_pass 1111
}
track_script {
chk_http_port            #(調用檢測腳本)
}
virtual_ipaddress {
192.168.30.20            # 定義虛擬ip(VIP),可多設,每行一個
}
}
virtual_ipaddress 里面可以配置vip,在線上通過vip來訪問服務。

interface需要根據服務器網卡進行設置通常查看方式ip addr

authentication配置授權訪問后備機也需要相同配置

修改備機(192.168.30.22)keepalived配置文件

keepalived.conf:

Copy
#檢測腳本
vrrp_script chk_http_port {
script "/usr/local/src/check_nginx_pid.sh" #心跳執行的腳本,檢測nginx是否啟動
interval 2                          #(檢測腳本執行的間隔)
weight 2                            #權重
}
#vrrp 實例定義部分
vrrp_instance VI_1 {
state BACKUP                        # 指定keepalived的角色,MASTER為主,BACKUP為備
interface eth0                      # 當前進行vrrp通訊的網絡接口卡(當前centos的網卡) 用ifconfig查看你具體的網卡
virtual_router_id 66                # 虛擬路由編號,主從要一直
priority 99                         # 優先級,數值越大,獲取處理請求的優先級越高
advert_int 1                        # 檢查間隔,默認為1s(vrrp組播周期秒數)
#授權訪問
authentication {
auth_type PASS #設置驗證類型和密碼,MASTER和BACKUP必須使用相同的密碼才能正常通信
auth_pass 1111
}
track_script {
chk_http_port                   #(調用檢測腳本)
}
virtual_ipaddress {
192.168.30.20                   # 定義虛擬ip(VIP),可多設,每行一個
}
}
檢測腳本:

Copy
#!/bin/bash
#檢測nginx是否啟動了
A=ps -C nginx --no-header |wc -l        
if [ $A -eq 0 ];then    #如果nginx沒有啟動就啟動nginx                        
service nginx start               #啟動nginx
if [ ps -C nginx --no-header |wc -l -eq 0 ];then    #nginx重啟失敗,則停掉keepalived服務,進行VIP轉移
killall keepalived
fi
fi
腳本授權:chmod 775 check_nginx_pid.sh

說明:腳本必須通過授權,不然沒權限訪問啊,在這里我們兩條服務器執行、VIP(virtual_ipaddress:192.168.30.20),我們在生產環境是直接通過vip來訪問服務。

模擬nginx故障:

修改兩個服務器默認訪問的Nginx的html頁面作為區別。

首先訪問192.168.30.20,通過vip進行訪問,頁面顯示192.168.30.21;說明當前是主服務器提供的服務。

這個時候192.168.30.21主服務器執行命令:

Copy
systemctl stop nginx; #停止nginx
再次訪問vip(192.168.30.20)發現這個時候頁面顯示的還是:192.168.30.21,這是腳本里面自動重啟。

現在直接將192.168.30.21服務器關閉,在此訪問vip(192.168.30.20)現在發現頁面顯示192.168.30.22這個時候keepalived就自動故障轉移了,一套企業級生產環境的高可用方案就搭建好了。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

鸡泽县| 佛冈县| 阳东县| 登封市| 南皮县| 东丽区| 垣曲县| 富民县| 武穴市| 霍城县| 鲁山县| 黔南| 宜阳县| 板桥市| 通许县| 积石山| 玉溪市| 沽源县| 四会市| 宽甸| 鹿邑县| 江津市| 麦盖提县| 新郑市| 渑池县| 双峰县| 嘉禾县| 改则县| 巴中市| 伊吾县| 弥勒县| 潢川县| 德安县| 双辽市| 岢岚县| 武功县| 云梦县| 廊坊市| 平乐县| 延寿县| 田东县|