日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

目錄
  • 1.概述
  • 2.CentOS中nginx集群搭建
    • 2.1 集群架構(gòu)圖
    • 2.2 Keepalived
    • 2.3 集群搭建準(zhǔn)備
    • 2.4 集群搭建
      • 2.4.1 安裝keepalived
      • 2.4.2 配置keepalived.conf
      • 2.4.3 編寫nginx監(jiān)測(cè)腳本
      • 2.4.4 啟動(dòng)keepalived
      • 2.4.5 啟動(dòng)nginx
      • 2.4.6 測(cè)試
  • 3.小結(jié)
    • 4.參考文獻(xiàn)
      • 總結(jié)

        1.概述

        nginx單機(jī)部署時(shí),一旦宕機(jī)就會(huì)導(dǎo)致整個(gè)服務(wù)的不可用,導(dǎo)致雪崩式效應(yīng)。集群式部署是解決單點(diǎn)式雪崩效應(yīng)的有效方案,本文將在centos環(huán)境下,結(jié)合Keepalived搭建高可用的nginx集群。

        2.CentOS中nginx集群搭建

        2.1 集群架構(gòu)圖

        centos環(huán)境下nginx高可用集群的搭建指南

        當(dāng)客戶端請(qǐng)求服務(wù)器時(shí),若利用nginx作為代理,則會(huì)首先訪問(wèn)nginx服務(wù)器,再通過(guò)nginx服務(wù)器轉(zhuǎn)發(fā)到對(duì)應(yīng)的服務(wù)器上。上述架構(gòu)圖的原理是:nginx-01和nginx-02是兩臺(tái)nginx服務(wù)器,其中nginx-01作為主服務(wù)器,通過(guò)keepalived與nginx-02形成一個(gè)小集群,同時(shí)還可以與nginx-03、nginx-04…nginx-n等多臺(tái)服務(wù)器構(gòu)成集群。當(dāng)nginx-01因?yàn)槟承┰蝈礄C(jī)而停止服務(wù)時(shí),其它nginx服務(wù)器會(huì)選舉一個(gè)進(jìn)行替代,使整個(gè)服務(wù)保持正常的運(yùn)行。

        2.2 Keepalived

        Keepalived是一款基于vrrp協(xié)議的高可用集群軟件,通過(guò)虛擬IP(VIP)對(duì)外提供服務(wù),能夠?qū)崟r(shí)監(jiān)控集群中服務(wù)器的運(yùn)行狀態(tài)并自動(dòng)進(jìn)行故障隔離,這些服務(wù)器都啟動(dòng)著相同的服務(wù),當(dāng)主服務(wù)器發(fā)生故障時(shí),會(huì)自動(dòng)將虛擬IP漂移到備份服務(wù)器,從而實(shí)現(xiàn)業(yè)務(wù)高可用。

        2.3 集群搭建準(zhǔn)備

        1.需要兩臺(tái)nginx服務(wù)器

        2.需要keepalived

        3.需要虛擬ip

        2.4 集群搭建

        2.4.1 安裝keepalived

        分別在了兩臺(tái)虛擬機(jī)上,利用yum指令安裝keepalived,指令如下:

        yum install keepalived

        可以利用下述指令確認(rèn)是否安裝成功,成功的話則會(huì)顯示版本號(hào),具體如下:

        rpm -q -a keepalived 

        centos環(huán)境下nginx高可用集群的搭建指南

        若非特別指定安裝目錄,則在centos的安裝路徑如下:

        /etc/keepalived

        2.4.2 配置keepalived.conf

        由于是主從配置,在主服務(wù)器中,找到keepalived.conf的文件,進(jìn)行替換,該文件存儲(chǔ)于/etc/keepalived路徑下,找到后替換為如下內(nèi)容:

        global_defs {
        	notification_email {
        	  acassen@firewall.loc
        	  failover@firewall.loc
        	  sysadmin@firewall.loc
        	}
        	notification_email_from Alexandre.Cassen@firewall.loc
        	smtp_ server 192.168.200.129
        	smtp_connect_timeout 30
        	router_id LVS_DEVEL	# LVS_DEVEL這字段在/etc/hosts文件中看;通過(guò)它訪問(wèn)到主機(jī)
        }
        
        vrrp_script chk_http_ port {
        	script "/usr/local/src/nginx_check.sh"
        	interval 2   # (檢測(cè)腳本執(zhí)行的間隔)2s
        	weight 2  #權(quán)重,如果這個(gè)腳本檢測(cè)為真,服務(wù)器權(quán)重+2
        }
        
        vrrp_instance VI_1 {
        	state MASTER   # 備份服務(wù)器上將MASTER 改為BACKUP
        	interface ens33 #網(wǎng)卡名稱,可查看對(duì)應(yīng)服務(wù)器的網(wǎng)卡
        	virtual_router_id 51 # 主、備機(jī)的virtual_router_id必須相同
        	priority 100   #主、備機(jī)取不同的優(yōu)先級(jí),主機(jī)值較大,備份機(jī)值較小
        	advert_int 1	#每隔1s發(fā)送一次心跳
        	authentication {	# 校驗(yàn)方式, 類型是密碼,密碼1111
                auth type PASS
                auth pass 1111
            }
        	virtual_ipaddress { # 虛擬ip
        		192.168.200.50 // VRRP H虛擬ip地址
        	}
        }
        

        備份服務(wù)器的keepalived.conf替換為:

        global_defs {
        	notification_email {
        	  acassen@firewall.loc
        	  failover@firewall.loc
        	  sysadmin@firewall.loc
        	}
        	notification_email_from Alexandre.Cassen@firewall.loc
        	smtp_ server 192.168.200.129
        	smtp_connect_timeout 30
        	router_id LVS_DEVEL	# LVS_DEVEL這字段在/etc/hosts文件中看;通過(guò)它訪問(wèn)到主機(jī)
        }
        
        vrrp_script chk_http_ port {
        	script "/usr/local/src/nginx_check.sh"
        	interval 2   # (檢測(cè)腳本執(zhí)行的間隔)2s
        	weight 2  #權(quán)重,如果這個(gè)腳本檢測(cè)為真,服務(wù)器權(quán)重+2
        }
        
        vrrp_instance VI_1 {
        	state MASTER   # 備份服務(wù)器上將MASTER 改為BACKUP
        	interface ens33 #網(wǎng)卡名稱,可查看對(duì)應(yīng)服務(wù)器的網(wǎng)卡
        	virtual_router_id 51 # 主、備機(jī)的virtual_router_id必須相同
        	priority 10   #主、備機(jī)取不同的優(yōu)先級(jí),主機(jī)值較大,備份機(jī)值較小
        	advert_int 1	#每隔1s發(fā)送一次心跳
        	authentication {	# 校驗(yàn)方式, 類型是密碼,密碼1111
                auth type PASS
                auth pass 1111
            }
        	virtual_ipaddress { # 虛擬ip
        		192.168.200.50 // VRRP H虛擬ip地址
        	}
        }
        

        2.4.3 編寫nginx監(jiān)測(cè)腳本

        文件保存為bash類型,命名為:nginx_check.sh,也可以自定義文件名稱,腳本內(nèi)容如下:

        #! /bin/bash
        A=`ps -C nginx -no-header | wc - 1`
        if [ $A -eq 0];then
        	/usr/local/nginx/sbin/nginx
        	sleep 2
        	if [`ps -C nginx --no-header| wc -1` -eq 0 ];then
        		killall keepalived
        	fi
        fi
        

        腳本可根據(jù)喜好來(lái)自定義文件夾存放,我這里存放于/usr/local/src/nginx_check.sh,注意一點(diǎn)的是,腳本存放的路徑必須與keepalived.conf中配置的腳本文件路徑一致。腳本路徑更改,則keepalived.conf中的路徑也要修改。

        2.4.4 啟動(dòng)keepalived

        分別在兩臺(tái)服務(wù)器上執(zhí)行如下指令:

        systemctl start keepalived.service
        

        查看keepalived進(jìn)程是否運(yùn)行,

        ps -ef|grep keepalived
        

        若運(yùn)行成功,則會(huì)出現(xiàn)以下界面:

        centos環(huán)境下nginx高可用集群的搭建指南

        2.4.5 啟動(dòng)nginx

        在主服務(wù)器和從服務(wù)器上,分別利用nginx啟動(dòng)命令啟動(dòng)nginx服務(wù),在nginx安裝目錄下執(zhí)行如下指令:

        ./nginx

        2.4.6 測(cè)試

        1測(cè)試方案如下

        (1)關(guān)閉主服務(wù)器上的nginx

        在nginx安裝目錄下執(zhí)行如下指令:

        ./nginx -s stop

        (2)訪問(wèn)虛擬ip

        在外部瀏覽器輸入:

        192.168.200.50:80

        若能正常彈出nginx歡迎頁(yè)面,則表明集群搭建成功,主服務(wù)器nginx宕機(jī)后,從服務(wù)器會(huì)代替服務(wù)。

        3.小結(jié)

        1.本文利用兩臺(tái)服務(wù)器模擬nginx集群狀態(tài),當(dāng)nginx master宕機(jī)后,從服務(wù)器會(huì)代替服務(wù);

        2.模擬集群關(guān)鍵三要素:keepalived、監(jiān)測(cè)腳本、虛擬ip;

        3.在某些情況下,需要為腳本添加可執(zhí)行權(quán)限,指令如下:

        chmod +x /usr/local/src/nginx_check.sh #腳本地址根據(jù)實(shí)際情況而定
        

        4.參考文獻(xiàn)

        1.https://www.bilibili.com/video/BV1zJ411w7SV?t=85&p=1

        2.https://juejin.cn/post/6844903956192182285

        3.https://juejin.cn/post/6844903929738854413

        4.https://juejin.cn/post/6844903585449246733

        總結(jié)

        分享到:
        標(biāo)簽:可用 搭建 服務(wù)器 環(huán)境 集群
        用戶無(wú)頭像

        網(wǎng)友整理

        注冊(cè)時(shí)間:

        網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

        • 51998

          網(wǎng)站

        • 12

          小程序

        • 1030137

          文章

        • 747

          會(huì)員

        趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
        最新入駐小程序

        數(shù)獨(dú)大挑戰(zhàn)2018-06-03

        數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

        答題星2018-06-03

        您可以通過(guò)答題星輕松地創(chuàng)建試卷

        全階人生考試2018-06-03

        各種考試題,題庫(kù),初中,高中,大學(xué)四六

        運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

        記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

        每日養(yǎng)生app2018-06-03

        每日養(yǎng)生,天天健康

        體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

        通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定