色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術(shù)文章
文章詳情頁

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

瀏覽:63日期:2023-03-13 15:37:12
目錄
  • 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)測腳本
      • 2.4.4 啟動keepalived
      • 2.4.5 啟動nginx
      • 2.4.6 測試
  • 3.小結(jié)
    • 4.參考文獻
      • 總結(jié)

        1.概述

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

        2.CentOS中nginx集群搭建

        2.1 集群架構(gòu)圖

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

        2.2 Keepalived

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

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

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

        2.需要keepalived

        3.需要虛擬ip

        2.4 集群搭建

        2.4.1 安裝keepalived

        分別在了兩臺虛擬機上,利用yum指令安裝keepalived,指令如下:

        yum install keepalived

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

        rpm -q -a keepalived 

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

        /etc/keepalived

        2.4.2 配置keepalived.conf

        由于是主從配置,在主服務(wù)器中,找到keepalived.conf的文件,進行替換,該文件存儲于/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文件中看;通過它訪問到主機}vrrp_script chk_http_ port {	script "/usr/local/src/nginx_check.sh"	interval 2   # (檢測腳本執(zhí)行的間隔)2s	weight 2  #權(quán)重,如果這個腳本檢測為真,服務(wù)器權(quán)重+2}vrrp_instance VI_1 {	state MASTER   # 備份服務(wù)器上將MASTER 改為BACKUP	interface ens33 #網(wǎng)卡名稱,可查看對應(yīng)服務(wù)器的網(wǎng)卡	virtual_router_id 51 # 主、備機的virtual_router_id必須相同	priority 100   #主、備機取不同的優(yōu)先級,主機值較大,備份機值較小	advert_int 1	#每隔1s發(fā)送一次心跳	authentication {	# 校驗方式, 類型是密碼,密碼1111auth type PASSauth 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文件中看;通過它訪問到主機}vrrp_script chk_http_ port {	script "/usr/local/src/nginx_check.sh"	interval 2   # (檢測腳本執(zhí)行的間隔)2s	weight 2  #權(quán)重,如果這個腳本檢測為真,服務(wù)器權(quán)重+2}vrrp_instance VI_1 {	state MASTER   # 備份服務(wù)器上將MASTER 改為BACKUP	interface ens33 #網(wǎng)卡名稱,可查看對應(yīng)服務(wù)器的網(wǎng)卡	virtual_router_id 51 # 主、備機的virtual_router_id必須相同	priority 10   #主、備機取不同的優(yōu)先級,主機值較大,備份機值較小	advert_int 1	#每隔1s發(fā)送一次心跳	authentication {	# 校驗方式, 類型是密碼,密碼1111auth type PASSauth pass 1111    }	virtual_ipaddress { # 虛擬ip		192.168.200.50 // VRRP H虛擬ip地址	}}

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

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

        #! /bin/bashA=`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	fifi

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

        2.4.4 啟動keepalived

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

        systemctl start keepalived.service

        查看keepalived進程是否運行,

        ps -ef|grep keepalived

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

        2.4.5 啟動nginx

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

        ./nginx

        2.4.6 測試

        1測試方案如下

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

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

        ./nginx -s stop

        (2)訪問虛擬ip

        在外部瀏覽器輸入:

        192.168.200.50:80

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

        3.小結(jié)

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

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

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

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

        4.參考文獻

        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é)

        到此這篇關(guān)于centos環(huán)境下nginx高可用集群搭建的文章就介紹到這了,更多相關(guān)nginx高可用集群搭建內(nèi)容請搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!

        標(biāo)簽: Nginx
        主站蜘蛛池模板: 久久99视频免费 | 国产精品欧美亚洲韩国日本不卡 | 老司机毛片 | 欧美在线小视频 | 国产精品尹人在线观看免费 | 91情国产l精品国产亚洲区 | 国产在线不卡视频 | 三级全黄的视频 | 女人张开腿让男人捅的视频 | 国产第一页久久亚洲欧美国产 | 美女一丝不佳一级毛片香蕉 | 成年人黄视频在线观看 | 国产免费资源 | 看色网站 | 成人在线一区二区三区 | 激情6月丁香婷婷色综合 | 国产亚洲欧美另类久久久 | 日韩区 | 美女一级视频 | www欧美com| 欧美一级手机免费观看片 | 国产亚洲一区二区在线观看 | 欧美成人高清性色生活 | 欧美成人午夜 | 杨晨晨福利视频 | 日韩永久在线观看免费视频 | 中文字幕一区中文亚洲 | 亚洲天堂在线视频播放 | 免费aa在线观看 男人的天堂 | 国产精品99久久免费观看 | 日韩免费观看一级毛片看看 | 国产短裙黑色丝袜在线观看下 | 韩日精品 | 日韩在线视频不卡一区二区三区 | 日本男人的天堂 | 国产欧美一区二区三区视频在线观看 | 9久9久女女热精品视频免费观看 | 国产男女猛烈无遮档免费视频网站 | 亚洲va在线va天堂va四虎 | 国产高清免费 | 在线观看va |