真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何用nginx+keepAlive實(shí)現(xiàn)高可用主從配置

這篇文章主要講解了“如何用nginx + keepAlive 實(shí)現(xiàn)高可用主從配置”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“如何用nginx + keepAlive 實(shí)現(xiàn)高可用主從配置”吧!

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡(jiǎn)單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:國(guó)際域名空間、網(wǎng)絡(luò)空間、營(yíng)銷軟件、網(wǎng)站建設(shè)、臺(tái)江網(wǎng)站維護(hù)、網(wǎng)站推廣。

一、keepAlived 簡(jiǎn)介

Keepalived軟件起初是專為L(zhǎng)VS負(fù)載均衡軟件設(shè)計(jì)的,用來管理并監(jiān)控LVS集群系統(tǒng)中各個(gè)服務(wù)節(jié)點(diǎn)的狀態(tài),后來又加入了可以實(shí)現(xiàn)高可用的VRRP (Virtual Router Redundancy Protocol ,虛擬路由器冗余協(xié)議)功能。因此,Keepalived除了能夠管理LVS軟件外,還可以作為其他服務(wù)(例如:Nginx、Haproxy、MySQL等)的高可用解決方案軟件

二、如何實(shí)現(xiàn)故障轉(zhuǎn)移 

  Keepalived高可用服務(wù)對(duì)之間的故障切換轉(zhuǎn)移,是通過 VRRP 來實(shí)現(xiàn)的。在 Keepalived服務(wù)正常工作時(shí),主 Master節(jié)點(diǎn)會(huì)不斷地向備節(jié)點(diǎn)發(fā)送(多播的方式)心跳消息,用以告訴備Backup節(jié)點(diǎn)自己還活著,當(dāng)主 Master節(jié)點(diǎn)發(fā)生故障時(shí),就無法發(fā)送心跳消息,備節(jié)點(diǎn)也就因此無法繼續(xù)檢測(cè)到來自主 Master節(jié)點(diǎn)的心跳了,于是調(diào)用自身的接管程序,接管主Master節(jié)點(diǎn)的 IP資源及服務(wù)。而當(dāng)主 Master節(jié)點(diǎn)恢復(fù)時(shí),備Backup節(jié)點(diǎn)又會(huì)釋放主節(jié)點(diǎn)故障時(shí)自身接管的IP資源及服務(wù),恢復(fù)到原來的備用角色
 

三、keepAlive配置

關(guān)于怎么安裝這里不做敘述,首先配置 master 節(jié)點(diǎn)

! Configuration File for keepalived

global_defs {
   router_id ip地址              #路由器標(biāo)識(shí),最好寫主機(jī)名或者IP地址,用于標(biāo)識(shí)
}

vrrp_script chk_nginx {        #配置檢查方式,chk_nginx為自定義名稱
    script "/etc/keepalived/nginx_check.sh"   #腳本的文件地址
    interval 2
    weight 20                   #此值需要大于MASTER的priority減去BACKUP的priority
}

vrrp_instance VI_1 {
    state MASTER                #主節(jié)點(diǎn)為:MASTER,備節(jié)點(diǎn)為:BACKUP
    interface eth0              #當(dāng)前虛擬機(jī)網(wǎng)卡
    virtual_router_id 51        # 虛擬路由編號(hào),主從要一直
    priority 100                #優(yōu)先級(jí) 數(shù)值越大,獲取處理請(qǐng)求的優(yōu)先級(jí)越高
    advert_int 1
    authentication {            #此為認(rèn)證方式,MASTER和BACKUP統(tǒng)一
        auth_type PASS
        auth_pass 1314
    }
    track_script {              #調(diào)用上面的檢查腳本
        chk_nginx
    }
    virtual_ipaddress {         #設(shè)定VIP地址
        18.50.129.74/24
    }
}

繼續(xù)配置slave節(jié)點(diǎn)。從節(jié)點(diǎn)backup配置和主節(jié)點(diǎn)一樣,只是state要改成backup,  priority 值要比master小點(diǎn)即可。

! Configuration File for keepalived

global_defs {
   router_id ip地址
}

vrrp_script chk_nginx {
    script "/etc/keepalived/nginx_check.sh"
    interval 2
    weight 20
}

vrrp_instance VI_1 {
    state BACKUP
    interface eth0
    virtual_router_id 51
    priority 90
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1314
    }
    track_script {
        chk_nginx
    }
    virtual_ipaddress {
        18.50.129.74/24
    }
}

最后編寫腳本 nginx_check.sh

#!/bin/bash

A=`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
        pkill keepalived
    fi
fi

腳本說明:

  1. 腳本邏輯為檢測(cè)進(jìn)程如果沒有nginx就嘗試啟動(dòng)一次,然后等礴兩秒,再檢測(cè),如果還沒有上進(jìn)程就結(jié)束keepalived進(jìn)程。這樣VIP就會(huì)移動(dòng)到備份節(jié)點(diǎn)

  2. 我這里是yum安裝的Nginx,所以直接使用nginx命令可以啟動(dòng)nginx,如果你是源碼安裝,或者需要配置下環(huán)境變量或者更改下啟動(dòng)命令和絕對(duì)路徑,并測(cè)試是否能正常啟動(dòng)

  3. 如果覺得等待兩秒的時(shí)候過長(zhǎng)可以更改為1秒

測(cè)試:

  1. 查看兩個(gè)節(jié)點(diǎn)的Nginx服務(wù)是否啟動(dòng)成功,如果keepalived啟動(dòng)成功會(huì)調(diào)用啟動(dòng)Nginx,前提需要保證Nginx能正常啟動(dòng)

  2. 在Master故意更改錯(cuò)Nginx配置文件,并停止Nginx服務(wù)過幾秒查看VIP是否已經(jīng)移動(dòng)至BACKUP,正常是會(huì)移動(dòng)到BACKUP節(jié)點(diǎn)

  3. 恢復(fù)Master節(jié)點(diǎn),查看VIP是否回到Master,正常VIP會(huì)綁定到Master

感謝各位的閱讀,以上就是“如何用nginx + keepAlive 實(shí)現(xiàn)高可用主從配置”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)如何用nginx + keepAlive 實(shí)現(xiàn)高可用主從配置這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!


分享標(biāo)題:如何用nginx+keepAlive實(shí)現(xiàn)高可用主從配置
文章分享:http://weahome.cn/article/jsddjc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部