欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2017年10月23日 15:34:45   作者:逍遙無謂  
這篇文章主要為大家詳細介紹了keepalived實現(xiàn)nginx高可用,具有一定的參考價值,感興趣的小伙伴們可以參考一下

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

keepalived使用

為了方便使用,寫了一個基于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 <<EOF
! Configuration File for keepalived
global_defs {
 notification_email {
  chencheng199211@gmail.com
 }
 notification_email_from email #表示發(fā)送通知郵件時郵件源地址是誰
 smtp_server 127.0.0.1 #表示發(fā)送email時使用的smtp服務(wù)器地址,這里可以用本地的sendmail來實現(xiàn)
 smtp_connect_timeout 30
 router_id master #機器標識
}
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ā)送通告時,會發(fā)送自己的優(yōu)先級,另外一臺發(fā)現(xiàn)優(yōu)先級不如自己的高,那么他會就回搶占為master
 interface $3 #實例綁定的網(wǎng)卡,因為在配置虛擬IP的時候必須是在已有的網(wǎng)卡上添加的
 virtual_router_id 51 #這里設(shè)置VRID,這里非常重要,相同的VRID為一個組,他將決定多播的MAC地址
 priority $2 #設(shè)置本節(jié)點的優(yōu)先級,優(yōu)先級高的為master
 advert_int 2 #檢查間隔,默認為1秒
 authentication { #這里設(shè)置認證
  auth_type PASS #認證方式,可以是PASS或AH兩種認證方式
  auth_pass 1111 #認證密碼
 }
 virtual_ipaddress { #這里設(shè)置的就是VIP,也就是虛擬IP地址,他隨著state的變化而增加刪除,當state為master的時候就添加,當state為backup的時候刪除,這里主要是有優(yōu)先級來決定的,和state設(shè)置的值沒有多大關(guān)系,這里可以設(shè)置多個IP地址
  $4
 }
 track_script {
  chk_nginx
 }

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

cat > /etc/keepalived/check_nginx.sh <<EOF
#!/bin/bash
# description:
# 定時查看nginx是否存在,如果不存在則啟動nginx
# 如果啟動失敗,則停止keepalived
status=$(ps -C nginx --no-heading | wc -l)
if [ "${status}" = "0" ]; then
  service nginx start
  sleep 2
  status2=$(ps -C nginx --no-heading | wc -l)
  if [ "${status2}" = "0" ]; then
    /etc/init.d/keepalived stop
  fi
fi
EOF

echo -e "enable boot and starting"
service keepalived start
service nginx start

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • linux ssh端口轉(zhuǎn)發(fā)的三種方式

    linux ssh端口轉(zhuǎn)發(fā)的三種方式

    這篇文章主要介紹了linux ssh端口轉(zhuǎn)發(fā)的三種方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-10-10
  • ubuntu下安裝Java 8的步驟教程

    ubuntu下安裝Java 8的步驟教程

    這篇文章主要介紹了ubuntu下Java 8的安裝步驟,文中通過一步步的步驟介紹很詳細,對大家具有一定的參考價值,有需要的朋友們下面來一起看看吧。
    2017-01-01
  • linux停止jar包進程方式

    linux停止jar包進程方式

    這篇文章主要介紹了linux如何停止jar包進程問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • Linux基線檢查與安全加固方式

    Linux基線檢查與安全加固方式

    本文詳細介紹了Linux安全加固的多個方面,包括賬戶管理、口令策略、SSH安全設(shè)置等,首先,對于賬戶管理,介紹了口令鎖定策略、口令生存期、口令復(fù)雜度、密碼重用限制以及禁止存在空密碼賬戶等方面的檢查和加固操作,其次,在服務(wù)管理方面
    2024-10-10
  • 在LINUX系統(tǒng)上使用rsync命令詳解

    在LINUX系統(tǒng)上使用rsync命令詳解

    rsync是一款多功能的文件同步工具,支持增量備份,減少數(shù)據(jù)傳輸時間和帶寬,它可以與不同的shell和協(xié)議配合使用,確保數(shù)據(jù)傳輸?shù)陌踩?提供了詳細的安裝和使用指南,適用于多種Linux發(fā)行版,使用戶能夠輕松掌握和應(yīng)用,Rsync的命令選項豐富
    2024-10-10
  • Linux SSH 安全策略 限制 IP 登錄方法

    Linux SSH 安全策略 限制 IP 登錄方法

    Linux SSH 安全策略 限制 IP 登錄方法,使用linux的朋友可以參考下
    2012-07-07
  • Linux?socket函數(shù)詳解

    Linux?socket函數(shù)詳解

    在網(wǎng)絡(luò)編程中,協(xié)議是指計算機系統(tǒng)之間進行通信和交互所遵循的規(guī)則和約定,協(xié)議在網(wǎng)絡(luò)編程中起著舉足輕重的作用,它定義了通信雙方的行為規(guī)范,確保了網(wǎng)絡(luò)通信的順利進行,這篇文章主要介紹了Linux?socket函數(shù),需要的朋友可以參考下
    2024-02-02
  • centos8安裝圖解(超詳細教程)

    centos8安裝圖解(超詳細教程)

    CentOS 完全遵守 Red Hat 的再發(fā)行政策,并且致力與上游產(chǎn)品在功能上完全兼容。這篇文章主要介紹了centos8安裝圖解,最詳細的一篇教程,本文圖文子相結(jié)合給大家介紹的非常詳細,需要的朋友可以參考下
    2019-10-10
  • Linux后臺運行jar程序的流程步驟

    Linux后臺運行jar程序的流程步驟

    在Linux系統(tǒng)中,有時候我們需要將Java程序以后臺進程的方式運行,以便在關(guān)閉終端或退出登錄時仍然保持程序的運行狀態(tài),本文將介紹如何在Linux中后臺運行一個Java的jar程序,需要的朋友可以參考下
    2024-09-09
  • Linux超詳細gcc升級全過程

    Linux超詳細gcc升級全過程

    大家好,本篇文章主要介紹了Linux超詳細gcc升級全過程,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏,方便下次瀏覽
    2021-11-11

最新評論