国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

web集群學(xué)習(xí):nginx+keepalived實(shí)現(xiàn)負(fù)載均衡高可用性

這篇具有很好參考價(jià)值的文章主要介紹了web集群學(xué)習(xí):nginx+keepalived實(shí)現(xiàn)負(fù)載均衡高可用性。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

目錄

項(xiàng)目架構(gòu)

一,環(huán)境介紹

二,項(xiàng)目部署

在Web服務(wù)器上配置Web測(cè)試頁(yè)面

nginx負(fù)載均衡配置

配置Nginx_Master

通過(guò)vrrp_script實(shí)現(xiàn)對(duì)集群資源的監(jiān)控(1>通過(guò)killall命令探測(cè)服務(wù)運(yùn)行狀態(tài))

通過(guò)vrrp_script實(shí)現(xiàn)對(duì)集群資源的監(jiān)控(2、開(kāi)發(fā)檢測(cè)nginx存活的shell腳本)

三,項(xiàng)目測(cè)試

四,實(shí)現(xiàn)不搶占模式


項(xiàng)目架構(gòu)

Nginx+Keepalived實(shí)現(xiàn)高可用

在?Keepalived?+ Nginx 高可用負(fù)載均衡架構(gòu)中,keepalived 負(fù)責(zé)實(shí)現(xiàn)高可用。它是一個(gè)高性能的服務(wù)器高可用或者熱備解決方案,Keepalived主要來(lái)防止服務(wù)器單點(diǎn)故障的發(fā)生問(wèn)題,可以通過(guò)其與Nginx的配合實(shí)現(xiàn)Web服務(wù)器端的高可用。使用keepalived可以保證nginx的高可用,他能監(jiān)控nginx的健康狀態(tài),當(dāng)nginx出現(xiàn)宕機(jī)時(shí)自動(dòng)主備切換。

一,環(huán)境介紹

服務(wù)器名稱 IP 用途
Nginx_Master 172.16.90.111 提供負(fù)載均衡
Nginx_Backup 172.16.90.112 提供負(fù)載均衡
LVS-DR-VIP 172.16.90.200 網(wǎng)站的VIP地址
Web1服務(wù)器 172.16.90.113 提供Web服務(wù)
Web2服務(wù)器 172.16.90.114 提供Web服務(wù)

二,項(xiàng)目部署

在后端服務(wù)器上配置Web測(cè)試頁(yè)面

web01配置:

cd /usr/share/nginx/html/
echo "web test page,`hostname -I`." > index.html 
systemctl restart nginx

web02配置同上

nginx負(fù)載均衡配置

nginx_master/backup做同樣配置

1、安裝nginx

yum install http://nginx.org/packages/rhel/7/x86_64/RPMS/nginx-1.10.0-1.el7.ngx.x86_64.rpm

?2、配置nginx反向代理

[root@nginx_master ~]# cd /etc/nginx/conf.d/
[root@nginx_master conf.d]# mv default.conf{,.bak}
[root@nginx_master conf.d]# vim web.conf

upstream webpools {
        server 172.16.90.113;
        server 172.16.90.114;
}

server {
        location / {
           proxy_pass http://webpools;
           index index.html;
        }
}

3,重啟nginx服務(wù),并測(cè)試訪問(wèn)nginx

nginx -t
systemctl restart nginx

客戶端訪問(wèn)測(cè)試負(fù)載均衡:

for ((i=1;i<=10;i++)); do curl 172.16.90.111; done

配置Nginx_Master

安裝keepalived

yum install keepalived -y
通過(guò)vrrp_script實(shí)現(xiàn)對(duì)集群資源的監(jiān)控(1>通過(guò)killall命令探測(cè)服務(wù)運(yùn)行狀態(tài))

配置keepalived

vim /etc/keepalived/keepalived.conf

vrrp_script chk_nginx {
        script "killall -0 nginx"
        #script "</dev/tcp/127.0.0.1/80"
        #script "if [ -f /var/run/httpd/httpd.pid ];then exit 0;else exit 1;fi"
        #script "/etc/keepalived/check_nginx.sh"
        interval 2       //間隔時(shí)間,單位為秒,默認(rèn)1秒
        fall 2     //腳本幾次失敗轉(zhuǎn)換為失敗
        rise 1    //腳本連續(xù)監(jiān)測(cè)成果后,把服務(wù)器從失敗標(biāo)記為成功的次數(shù)
        }

vrrp_instance VI_1 {
    state MASTER
    interface ens32 //填你對(duì)應(yīng)的網(wǎng)卡名稱
    virtual_router_id 51
    priority 150  //默認(rèn)100,改大
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }

   notify_master "/etc/keepalived/master.sh"
   notify_backup "/etc/keepalived/backup.sh"
   notify_fault "/etc/keepalived/fault.sh"

   track_script{
         chk_nginx
    }
    virtual_ipaddress {
         172.16.90.200/24 dev ens32
     }
 }

相關(guān)參數(shù)說(shuō)明:

notify的用法:

notify_master:當(dāng)當(dāng)前節(jié)點(diǎn)成為master時(shí),通知腳本執(zhí)行任務(wù)(一般用于啟動(dòng)某服務(wù),比如 nginx,haproxy等)

notify_backup:當(dāng)當(dāng)前節(jié)點(diǎn)成為backup時(shí),通知腳本執(zhí)行任務(wù)(一般用于關(guān)閉某服務(wù),比如nginx,haproxy等)

notify_fault:當(dāng)當(dāng)前節(jié)點(diǎn)出現(xiàn)故障,執(zhí)行的任務(wù);

根據(jù)提供的路徑腳本路徑,編寫(xiě)提供日志記錄的腳本:

vim /etc/keepalived/master.sh
#!/bin/bash
LOGFILE=/etc/keepalived/nginx_state.log
echo "[master]" >> $LOGFILE
date >> $LOGFILE

vim /etc/keepalived/backup.sh
#!/bin/bash
LOGFILE=/etc/keepalived/nginx_state.sh
echo "[backup]" >> $LOGFILE
date >> $LOGFILE

vim /etc/keepalived/fault.sh
#!/bin/bash
LOGFILE=/etc/keepalived/nginx_state.log
echo "[dault]" >> $LOGFILE
date >> $LOGFILE

給文件賦予執(zhí)行權(quán)限

chmod +x /etc/keepalived/*.sh

Nginx_Backup配置同上

通過(guò)vrrp_script實(shí)現(xiàn)對(duì)集群資源的監(jiān)控(2、開(kāi)發(fā)檢測(cè)nginx存活的shell腳本)
vim /etc/keepalived/check_nginx.sh

#!/bin/bash
A=`ps -C nginx --no-header |wc -l`
if [ $A -eq 0 ];then
        systemctl start nginx
        sleep 3
if [ `ps -C nginx --no-header |wc -l` -eq 0 ]
then
        systemctl stop keepalived
        fi
fi

給文件賦予執(zhí)行權(quán)限

chmod +x /etc/keepalived/*.sh

配置keepalived

vim /etc/keepalived/keepalived.conf

vrrp_script chk_nginx {
        #script "killall -0 nginx"
        #script "</dev/tcp/127.0.0.1/80"
        #script "if [ -f /var/run/httpd/httpd.pid ];then exit 0;else exit 1;fi"
        script "/etc/keepalived/check_nginx.sh"
        interval 2
        fall 2
        rise 1
        }

vrrp_instance VI_1 {
    state MASTER
    interface ens32 //填你對(duì)應(yīng)的網(wǎng)卡名稱
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }

   notify_master "/etc/keepalived/master.sh"
   notify_backup "/etc/keepalived/backup.sh"
   notify_fault "/etc/keepalived/fault.sh"

   track_script{
         chk_nginx
    }
    virtual_ipaddress {
         172.16.90.200/24 dev ens32
     }
 }

Nginx_Backup配置文件

vrrp_script chk_nginx {
        #script "killall -0 nginx"
        #script "</dev/tcp/127.0.0.1/80"
        #script "if [ -f /var/run/httpd/httpd.pid ];then exit 0;else exit 1;fi"
        script "/etc/keepalived/check_nginx.sh"
        interval 2
        fall 2
        rise 1
        }

vrrp_instance VI_1 {
    state BACKUP  //改這里喲
    interface ens32 //填你對(duì)應(yīng)的網(wǎng)卡名稱
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }

   notify_master "/etc/keepalived/master.sh"
   notify_backup "/etc/keepalived/backup.sh"
   notify_fault "/etc/keepalived/fault.sh"

   track_script{
         chk_nginx
    }
    virtual_ipaddress {
         172.16.90.200/24 dev ens32
     }
 }

三,項(xiàng)目測(cè)試

重啟主從調(diào)度的nginx和keepalived

[root@nginx_master ~]# systemctl restart nginx keepalived
[root@nginx_backup ~]# systemctl restart nginx keepalived

Master,Backup都正常,只有Master對(duì)外提供服務(wù)

[root@nginx_master ~]# ip a | grep "172.16.90.200"
inet 172.16.90.200/24 scope global ens32

Master宕機(jī),Backup接替Master對(duì)外提供服務(wù)

模擬Master的keepalived服務(wù)器停止
[root@nginx_master ~]# systemctl stop keepalived.service
此時(shí)VIP在Backup上
[root@nginx_backup ~]# ip a | grep "172.16.90.200"
inet 172.16.90.200/24 scope global ens32

在客戶機(jī)上驗(yàn)證是否Backup接管后還能實(shí)現(xiàn)負(fù)載均衡

for ((i=1;i<=10;i++)); do curl 172.16.90.200; done

Master恢復(fù)正常,Master繼續(xù)提供服務(wù),Backup停止服務(wù)

模擬Master的keepalived服務(wù)恢復(fù)正常
[root@nginx_master ~]# systemctl start keepalived.service
此時(shí)VIP在Master上
[root@nginx_master ~]# ip a | grep "172.16.90.200"
inet 172.16.90.200/24 scope global ens32

四,實(shí)現(xiàn)不搶占模式

上述主節(jié)點(diǎn)一宕機(jī),備節(jié)點(diǎn)就會(huì)接管,主節(jié)點(diǎn)修復(fù)好了,又會(huì)重新接管服務(wù)。服務(wù)的切換存在一定的風(fēng)險(xiǎn)和不穩(wěn)定性,為了避免生產(chǎn)中多次網(wǎng)絡(luò)抖動(dòng),要實(shí)現(xiàn)不搶占模式

nopreempt 設(shè)置的是高可用集群中的不搶占功能:設(shè)置 nopreempt可以實(shí)現(xiàn)主節(jié)點(diǎn)故障恢復(fù)后不再切回到主節(jié)點(diǎn),讓服務(wù)一直在備用節(jié)點(diǎn)下工作, 直到備用節(jié)點(diǎn)出現(xiàn)故障才會(huì)進(jìn)行切換。在使用不搶占功能時(shí),在“state” 狀態(tài)為 “BACKUP” 的節(jié)點(diǎn)上設(shè)置,而且這個(gè)節(jié)點(diǎn)的優(yōu)先級(jí)必須高于其他節(jié)點(diǎn)

Nginx_Master上文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-648774.html

vim /etc/keepalived/keepalived.conf

vrrp_script chk_nginx {
        #script "killall -0 nginx"
        #script "</dev/tcp/127.0.0.1/80"
        #script "if [ -f /var/run/httpd/httpd.pid ];then exit 0;else exit 1;fi"
        script "/etc/keepalived/check_nginx.sh"
        interval 2
        fall 2
        rise 1
        }

vrrp_instance VI_1 {
    state BACKUP   //原來(lái)的MASTER改為BACKUP
    interface ens32 //填你對(duì)應(yīng)的網(wǎng)卡名稱
    virtual_router_id 51
    priority 100
    nopreept    //添加這行
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }

   notify_master "/etc/keepalived/master.sh"
   notify_backup "/etc/keepalived/backup.sh"
   notify_fault "/etc/keepalived/fault.sh"

   track_script{
         chk_nginx
    }
    virtual_ipaddress {
         172.16.90.200/24 dev ens32
     }
 }

到了這里,關(guān)于web集群學(xué)習(xí):nginx+keepalived實(shí)現(xiàn)負(fù)載均衡高可用性的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • keepalived高可用學(xué)習(xí) keepalived+nginx高可用負(fù)載均衡配置

    1、概述 keepalived是為lvs設(shè)計(jì)的,用于管理和監(jiān)控lvs集群系統(tǒng)中各個(gè)服務(wù)節(jié)點(diǎn)的狀態(tài),后面又加入了VRRP虛擬路由冗余協(xié)議,可以實(shí)現(xiàn)路由器高可用,原理是多臺(tái)提供路由功能的服務(wù)器組成一個(gè)路由組,一個(gè)master和多個(gè)backup,master有vip,可以發(fā)組播,當(dāng)backup收不到就認(rèn)為master掛了

    2024年02月07日
    瀏覽(36)
  • Web服務(wù)器群集:Nginx+Tomcat實(shí)現(xiàn)負(fù)載均衡與動(dòng)靜分離集群

    Web服務(wù)器群集:Nginx+Tomcat實(shí)現(xiàn)負(fù)載均衡與動(dòng)靜分離集群

    目錄 一、理論 1.多實(shí)例 2.Nginx負(fù)載均衡 3.Nginx動(dòng)靜分離 4.配置Nginx+Tomcat負(fù)載均衡 5.配置Nginx+Tomcat動(dòng)靜分離集群 6.Nginx 四層代理配置 二、實(shí)驗(yàn) 1.配置Nginx+Tomcat負(fù)載均衡 2.、配置Nginx+Tomcat動(dòng)靜分離集群 三、問(wèn)題 1.服務(wù)器群集與集群的區(qū)別 2.正向代理與反向代理的區(qū)別 四、總結(jié) (

    2024年02月11日
    瀏覽(23)
  • Nginx+keepalived實(shí)現(xiàn)七層的負(fù)載均衡

    Nginx+keepalived實(shí)現(xiàn)七層的負(fù)載均衡

    keepalived是什么? ?????????keepalived是集群管理中保證集群高可用的一個(gè)服務(wù)軟件,用來(lái)防止單點(diǎn)故障。 keepalived工作原理 ? ? ? ????keepalived是以VRRP協(xié)議為實(shí)現(xiàn)基礎(chǔ)的,VRRP全稱Virtual Router Redundancy?Protocol,即虛擬路由冗余協(xié)議。 虛擬路由冗余協(xié)議 :可以認(rèn)為是實(shí)現(xiàn)路由

    2024年02月06日
    瀏覽(16)
  • nginx+keepalived實(shí)現(xiàn)負(fù)載均衡和高可用

    環(huán)境準(zhǔn)備 IP VIP 環(huán)境 客戶端 192.168.134.174 Master 192.168.134.170 192.168.134.100 需要配置nginx負(fù)載均衡 Backup 192.168.134.172 192.168.134.100 需要配置nginx負(fù)載均衡 web1服務(wù)器 192.168.134.171 web2服務(wù)器 192.168.134.173 1、首先安裝nginx服務(wù)器(此處采用yum安裝) 2、修改nginx的配置文件(配置負(fù)載均衡)

    2024年02月13日
    瀏覽(22)
  • nginx兩臺(tái)負(fù)載均衡服務(wù)器之間使用keepalived實(shí)現(xiàn)高可用

    單點(diǎn)故障:某個(gè)重要的功能只有一份,如果他出現(xiàn)問(wèn)題,會(huì)導(dǎo)致全局不能使用 “高可用性”(High Availability,縮寫(xiě)為HA)用于描述系統(tǒng)或服務(wù)在面臨故障、硬件或軟件問(wèn)題時(shí)能夠繼續(xù)正常運(yùn)行的能力。高可用性的目標(biāo)是最大程度地減少系統(tǒng)中斷或停機(jī)時(shí)間,確保用戶可以隨時(shí)

    2024年02月09日
    瀏覽(20)
  • lvs+keepalived+nginx雙主模式雙主熱備實(shí)現(xiàn)負(fù)載均衡

    lvs+keepalived+nginx雙主模式雙主熱備實(shí)現(xiàn)負(fù)載均衡

    目錄 一、原理 二、真實(shí)服務(wù)器nginx配置 三、lvs的keepalived配置 3.1 配置文件 3.2 開(kāi)啟keepalived服務(wù) 四、測(cè)試 4.1 測(cè)試訪問(wèn)VIP 4.2 模擬lvs01宕機(jī) 主機(jī)名 IP nginx01 11.0.1.31 nginx01 11.0.1.31 lvs01 11.0.1.33 lvs02 11.0.1.34 VIP1 11.0.1.29 VIP2 11.0.1.30 lvs+keepalived+nginx主備模式下,lvs永遠(yuǎn)只有一臺(tái)在工作,

    2024年01月25日
    瀏覽(22)
  • WEB集群——LVS-DR 群集、nginx負(fù)載均衡

    WEB集群——LVS-DR 群集、nginx負(fù)載均衡

    1、基于 CentOS 7 構(gòu)建 LVS-DR 群集。 2、配置nginx負(fù)載均衡。 LVS-DR(Linux Virtual Server Director Server) 名稱 縮寫(xiě) 說(shuō)明 虛擬IP地址(Virtual IP Address) VIP Director用于向客戶端計(jì)算機(jī)提供服務(wù)的IP地址 真實(shí)IP地址(Real Server IP Address) RIP 在集群下面節(jié)點(diǎn)上使用IP地址 Director的IP地址(Director IP Add

    2024年02月13日
    瀏覽(22)
  • Docker 多主機(jī)部署:構(gòu)建容器集群的最佳實(shí)踐,助力高可用性與負(fù)載均衡

    Docker 多主機(jī)部署:構(gòu)建容器集群的最佳實(shí)踐,助力高可用性與負(fù)載均衡

    ???? 博主 libin9iOak帶您 Go to New World.??? ?? 個(gè)人主頁(yè)——libin9iOak的博客?? ?? 《面試題大全》 文章圖文并茂??生動(dòng)形象??簡(jiǎn)單易學(xué)!歡迎大家來(lái)踩踩~?? ?? 《IDEA開(kāi)發(fā)秘籍》學(xué)會(huì)IDEA常用操作,工作效率翻倍~?? ???? 希望本文能夠給您帶來(lái)一定的幫助??文章粗淺,敬

    2024年02月16日
    瀏覽(22)
  • LVS-DR模式+keepalived+nginx+tomcat實(shí)現(xiàn)動(dòng)靜分離、負(fù)載均衡、高可用實(shí)驗(yàn)

    LVS-DR模式+keepalived+nginx+tomcat實(shí)現(xiàn)動(dòng)靜分離、負(fù)載均衡、高可用實(shí)驗(yàn)

    實(shí)驗(yàn)條件: test2——20.0.0.20——主服務(wù)器——ipvsadm、keepalived服務(wù) test3——20.0.0.30——備服務(wù)器——ipvsadm、keepalived服務(wù) nginx5——20.0.0.51——后端真實(shí)服務(wù)器1(tomcat的代理服務(wù)器)——nginx服務(wù) nginx6——20.0.0.61——后端真實(shí)服務(wù)器2(tomcat的代理服務(wù)器)——nginx服務(wù) tomcat——

    2024年02月08日
    瀏覽(46)
  • LVS+KeepAlived高可用負(fù)載均衡集群

    LVS+KeepAlived高可用負(fù)載均衡集群

    高可用集群只需要在調(diào)度器上多進(jìn)行一臺(tái)或兩臺(tái)(服務(wù)器本身的價(jià)格比較昂貴,一般備用的服務(wù)器的數(shù)量會(huì)和當(dāng)前業(yè)務(wù)創(chuàng)造的價(jià)值對(duì)等)的設(shè)置,就可避免因調(diào)度器癱瘓業(yè)務(wù)中斷的風(fēng)險(xiǎn),所以實(shí)現(xiàn)了真正的高可用的效果。 1.普通群集 普通的群集的部署是通過(guò)一臺(tái)度器控制調(diào)配

    2024年02月09日
    瀏覽(22)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包