一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

云服務器|WEB服務器|FTP服務器|郵件服務器|虛擬主機|服務器安全|DNS服務器|服務器知識|Nginx|IIS|Tomcat|

服務器之家 - 服務器技術 - Nginx - 關于使用Keepalived實現Nginx的自動重啟及雙主熱備高可用問題

關于使用Keepalived實現Nginx的自動重啟及雙主熱備高可用問題

2021-09-26 16:38追風人聊Java Nginx

這篇文章主要介紹了使用Keepalived實現Nginx的自動重啟及雙主熱備高可用,本文通過幾個問題解析幫助大家學習Keepalived實現Nginx的自動重啟的相關知識,需要的朋友可以參考下

1、概述

之前我們使用Keepalived實現了Nginx服務的雙機主備高可用,但是有幾個問題沒有解決,今天一起探討一下。

1)在雙機主備機制中,Keepalived服務如果宕了,會自動啟用備機進行服務,但Nginx服務如果負載過大宕了,虛擬ip是不會指向備機的。

2)雙機主備的特點是,只有1臺機器在提供服務,備機在主機的Keepalived服務宕掉后才會提供服務,大大的造成了資源的浪費。

3)目前比較流行租用云服務器去運營公司的產品,那云服務器支不支持虛擬IP呢?

今天我們就上述的三個問題來講解一下。

2、使用Keepalived實現Nginx的自動重啟

2.1 借助Shell腳本,完成Nginx的重啟

Keepalived不能直接啟動Nginx,但可以執行shell腳本,因此這里我們需要借助Shell腳本啟動Nginx。

在 /etc/keepalived 目錄下,新建一個腳本 check_nginx.sh,以下是腳本的具體內容:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/bin/bash
 
# 執行查看Nginx進程的命令,并放在變量A中
A=`ps -C nginx --no-header | wc -l`
 
# 判斷是否宕機,如果宕機嘗試重啟,如果重啟不成功,則停止Keepalived
if [ $A -eq 0 ];then
    /usr/local/nginx/sbin/nginx
    sleep 3
    if [ `ps -C nginx --no-header | wc -l` -eq 0 ];then
        killall keepalived
 
    fi
fi

腳本來源于網絡

2.2 為腳本賦予運行權限

?
1
# chmod +x /etc/keepalived/check_nginx.sh

2.3 在Keepalived配置文件中增加配置

打開Keepalived配置文件,# vi /etc/keepalived/keepalived.conf

修改配置文件,增加vrrp_script 和track_script的配置,配置如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
global_defs {
   
   # 全局唯一的主機標識
   router_id server_a
   
}
 
vrrp_script check_nginx {
    script "/etc/keepalived/check_nginx.sh"
    interval 3 # 每隔3秒運行一次Shell腳本
    weight 10 # 腳本運行成功,權重加10
}
 
vrrp_instance VI_1 {
 
    # 標識是主節點還是備用節點,值為 MASTER 或 BACKUP
    state MASTER
    # 綁定的網卡
    interface ens33
    # 虛擬路由id,保證主備節點是一致的
    virtual_router_id 51
    # 權重
    priority 100
    # 同步檢查時間,間隔默認1秒
    advert_int 1
    # 認證授權的密碼,所有主備需要一樣
    authentication {
        auth_type PASS
        auth_pass 1111
    }
 
    track_script {
        check_nginx
    }
 
    # 虛擬IP
    virtual_ipaddress {
        192.168.1.88
    }
}

2.4 重啟Keepalived服務

重啟后,發現,Nginx停掉后,很快會自動啟動。

3、雙主熱備的搭建

3.1 雙主熱備概述

由于雙機主備機制,每次只會由一臺服務器對外提供服務,且主備機的配置是相同的,因此極大地造成了資源的浪費。

雙主熱備則解決了這個問題,雙主熱備的原理是兩臺服務器利用Keepalived互為主備,因此需要兩個虛擬IP,再利用DNS輪詢的配置,讓一個域名按輪詢的方式分別路由到兩個虛擬IP上,最終達到高可用的目的。

3.2 場景說明

虛擬IP1:192.168.1.88

虛擬IP2:192.168.1.66

A服務器IP(主):192.168.1.144

B服務器IP(備):192.168.1.22

3.3 修改A服務器配置

配置如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
! Configuration File for keepalived
 
global_defs {
   
   # 全局唯一的主機標識
   router_id server_a
   
}
 
vrrp_instance VI_1 {
 
    # 標識是主節點還是備用節點,值為 MASTER 或 BACKUP
    state MASTER
    # 綁定的網卡
    interface ens33
    # 虛擬路由id,保證主備節點是一致的
    virtual_router_id 51
    # 權重
    priority 100
    # 同步檢查時間,間隔默認1秒
    advert_int 1
    # 認證授權的密碼,所有主備需要一樣
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    # 虛擬IP
    virtual_ipaddress {
        192.168.1.88
    }
}
 
vrrp_instance VI_2 {
 
    # 標識是主節點還是備用節點,值為 MASTER 或 BACKUP
    state BACKUP
    # 綁定的網卡
    interface ens33
    # 虛擬路由id,保證主備節點是一致的
    virtual_router_id 52
    # 權重
    priority 80
    # 同步檢查時間,間隔默認1秒
    advert_int 1
    # 認證授權的密碼,所有主備需要一樣
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    # 虛擬IP
    virtual_ipaddress {
        192.168.1.66
    }
}

3.4 修改B服務器配置

配置如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
! Configuration File for keepalived
 
global_defs {
   
   router_id server_b
   
}
 
vrrp_instance VI_1 {
    
    # 設置為備機
    state BACKUP
    interface ens33
    virtual_router_id 51
    # 權重設置的要比主機低
    priority 90
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    # 虛擬IP需要主備設置成一樣
    virtual_ipaddress {
        192.168.1.88
    }
}
 
vrrp_instance VI_2 {
    
    # 設置為主機
    state MASTER
    interface ens33
    virtual_router_id 52
    # 權重設置的要比主機低
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    # 虛擬IP需要主備設置成一樣
    virtual_ipaddress {
        192.168.1.66
    }
}

3.5 重啟兩臺服務器的Keepalived

重啟Keepalived即可。

3.6 設置DNS輪詢

聯系網絡運營商解決。

4、云服務器的負載均衡

現在,很多公司都會選擇租用云服務器運行自己的產品,因為更劃算、更穩定,有專業人員負責運維。

但使用了云服務器,就要受云服務運營商的限制。

就拿虛擬IP這個事兒來說,一些云服務運營商就是不支持的。

如果不支持虛擬IP,則Keepalived這個方案就只能放棄了。

但即使Keepalived用不了,Nginx的高可用還是有解決方案的,很多云服務商都已經推出了自己的負載均衡服務(例如:阿里云的負載均衡 SLB 和 騰訊云的負載均衡 CLB)。我們直接租用就好了,不需要我們自己去配置。

5、綜述

今天大概聊了一下KeepAlived自動重啟Nginx,Keepalived的雙主熱備高可用的搭建,以及云服務器負載均衡的解決方案,希望能對大家有所幫助。

到此這篇關于使用Keepalived實現Nginx的自動重啟及雙主熱備高可用的文章就介紹到這了,更多相關Keepalived實現Nginx的自動重啟內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://www.cnblogs.com/w84422/p/15242407.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 疯狂激吻添下边小说 | 国产亚洲一欧美一区二区三区 | 国产高清dvd | 午夜精品久久久 | h版欧美大片免费观看 | jzzjzz视频免费播放 | 国产精品99爱免费视频 | 欧美a级完整在线观看 | 男人猛进猛出女人下面视频 | 国产精品国色综合久久 | 新影音先锋男人色资源网 | 四虎网址 | 成人免费高清视频 | 91传媒制片厂制作传媒破解版 | 成人欧美一区二区三区 | 午夜影院免费入口 | 日韩欧美一区二区三区免费观看 | 国产精品久久香蕉免费播放 | 狠狠色 | 爱爱亚洲 | 日本一区二区高清免费不卡 | 小莹的性荡生活45章 | 99午夜| 国产精品suv | 亚洲国产99在线精品一区69堂 | 亚洲第一天堂网 | 视频二区 素人 制服 国产 | 亚洲一级视频在线观看 | 国模李丽莎大尺度啪啪 | 色综合视频在线观看 | 潘金莲西门庆一级淫片aaaaaa | 和老外3p爽粗大免费视频 | 日韩精品欧美激情国产一区 | 亚洲男gay | 全黄毛片| 三级午夜宅宅伦不卡在线 | 九九99热久久精品在线6 | 久久人妻少妇嫩草AV无码 | 滑进了柔佳火热紧夹的 | 韩国免费特一级毛片 | 日韩视频在线免费观看 |