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

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

keepalived實(shí)現(xiàn)nginx高可用

keepalived直譯就是保持存活,在網(wǎng)絡(luò)里面就是保持在線了,也就是所謂的高可用或熱備,用來防止單點(diǎn)故障(單點(diǎn)故障是指一旦某一點(diǎn)出現(xiàn)故障就會導(dǎo)致整個(gè)系統(tǒng)架構(gòu)的不可用)的發(fā)生,keepalived實(shí)現(xiàn)的基礎(chǔ)是vrrp,至于vrrp是什么請直接看這里vrrp,下面我們直接看應(yīng)用吧。

成都創(chuàng)新互聯(lián)主營高臺網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,APP應(yīng)用開發(fā),高臺h5小程序設(shè)計(jì)搭建,高臺網(wǎng)站營銷推廣歡迎高臺等地區(qū)企業(yè)咨詢

keepalived使用

為了方便使用,寫了一個(gè)基于ubuntu 16.04 server 的一鍵配置腳本,配置使用相關(guān)就在腳本里見吧

#!/bin/bash
# nginx+keepalived 高可用一鍵腳本for ubuntu 16.04

if [ $# -ne 4 ]; then
 echo "USAGE: $0 [MASTER|BACKUP] priority interface virtual_ipaddress"
 exit 0
fi

echo -e 'Installing nginx'
apt-get install nginx -y > /dev/null 2<&1

echo -e 'Installing keepalived'
apt-get install keepalived -y > /dev/null 2<&1

echo -e 'Configuring keepalived'
if [ ! -e /etc/keepalived ];then
 mkdir /etc/keepalived
fi
cat > /etc/keepalived/keepalived.conf <服務(wù)器地址,這里可以用本地的sendmail來實(shí)現(xiàn)
 smtp_connect_timeout 30
 router_id master #機(jī)器標(biāo)識
}
vrrp_script chk_nginx {
 script "/etc/keepalived/check_nginx.sh"
 interval 2 #腳本執(zhí)行間隔,單位秒
 weight -5 #腳本結(jié)果導(dǎo)致的優(yōu)先級變更:10表示優(yōu)先級+10;-10則表示優(yōu)先級-10
 fall 3
 rise 2
}

vrrp_instance VI_1 {
 state $1 #state指定instance(Initial)的初始狀態(tài),就是說在配置好后,這臺服務(wù)器的初始狀態(tài)就是這里指定的,但這里指定的不算,還是得要通過競選通過優(yōu)先級來確定,里如果這里設(shè)置為master,但如若他的優(yōu)先級不及另外一臺,那么這臺在發(fā)送通告時(shí),會發(fā)送自己的優(yōu)先級,另外一臺發(fā)現(xiàn)優(yōu)先級不如自己的高,那么他會就回?fù)屨紴閙aster
 interface $3 #實(shí)例綁定的網(wǎng)卡,因?yàn)樵谂渲锰摂MIP的時(shí)候必須是在已有的網(wǎng)卡上添加的
 virtual_router_id 51 #這里設(shè)置VRID,這里非常重要,相同的VRID為一個(gè)組,他將決定多播的MAC地址
 priority $2 #設(shè)置本節(jié)點(diǎn)的優(yōu)先級,優(yōu)先級高的為master
 advert_int 2 #檢查間隔,默認(rèn)為1秒
 authentication { #這里設(shè)置認(rèn)證
  auth_type PASS #認(rèn)證方式,可以是PASS或AH兩種認(rèn)證方式
  auth_pass 1111 #認(rèn)證密碼
 }
 virtual_ipaddress { #這里設(shè)置的就是VIP,也就是虛擬IP地址,他隨著state的變化而增加刪除,當(dāng)state為master的時(shí)候就添加,當(dāng)state為backup的時(shí)候刪除,這里主要是有優(yōu)先級來決定的,和state設(shè)置的值沒有多大關(guān)系,這里可以設(shè)置多個(gè)IP地址
  $4
 }
 track_script {
  chk_nginx
 }

 #dont_track_primary:忽略VRRP的interface錯(cuò)誤
 #track_interface:跟蹤接口,設(shè)置額外的監(jiān)控,里面任意一塊網(wǎng)卡出現(xiàn)問題,都會進(jìn)入故障(FAULT)狀態(tài),例如,用nginx做均衡器的時(shí)候,內(nèi)網(wǎng)必須正常工作,如果內(nèi)網(wǎng)出問題了,這個(gè)均衡器也就無法運(yùn)作了,所以必須對內(nèi)外網(wǎng)同時(shí)做健康檢查
 #mcast_src_ip:發(fā)送多播數(shù)據(jù)包時(shí)的源IP地址,這里注意了,這里實(shí)際上就是在那個(gè)地址上發(fā)送VRRP通告,這個(gè)非常重要,一定要選擇穩(wěn)定的網(wǎng)卡端口來發(fā)送,這里相當(dāng)于heartbeat的心跳端口,如果沒有設(shè)置那么就用默認(rèn)的綁定的網(wǎng)卡的IP,也就是interface指定的IP地址
 #garp_master_delay:在切換到master狀態(tài)后,延遲進(jìn)行免費(fèi)的ARP(gratuitous ARP)請求
 #virtual_routes:原理和virtual ipaddress一樣,只不過這里是增加和刪除路由
 #lvs_sync_daemon_interface:lvs syncd綁定的網(wǎng)卡
 #nopreempt:設(shè)置不搶占,這里只能設(shè)置在state為backup的節(jié)點(diǎn)上,而且這個(gè)節(jié)點(diǎn)的優(yōu)先級必須別另外的高。當(dāng)主MySQL恢復(fù)后不搶占資源
 #preempt_delay:搶占延遲
 #debug:debug級別
 #notify_master:表示當(dāng)切換到master狀態(tài)時(shí),要執(zhí)行的腳本
 #notify_backup:表示當(dāng)切換到backup狀態(tài)時(shí),要執(zhí)行的腳本
 #notify_fault:
}
EOF

cat > /etc/keepalived/check_nginx.sh <

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。


名稱欄目:keepalived實(shí)現(xiàn)nginx高可用
標(biāo)題路徑:http://weahome.cn/article/ihcoes.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部