日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

nginx搭建高可用集群的實現方法_nginx

作者:呆萌很 ? 更新時間: 2023-03-22 編程語言

Keepalived+Nginx 高可用集群(主從模式)

集群架構圖

1、準備兩臺裝有Nginx虛擬機

2、都需安裝Keepalived

yum install keepalived -y

查看是否安裝成功

rpm -q -a keepalived

安裝之后,在 etc 里面生成目錄 keepalived,有文件 keepalived.conf ?

3、完成高可用配置(主從配置)

修改/etc/keepalived/keepalivec.conf 配置文件

主服務配置:keepalivec.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.19.129
	 smtp_connect_timeout 30
	 router_id LVS_DEVEL
}
vrrp_script chk_http_port {
	 script "/usr/local/src/nginx_check.sh"
	 interval 2 #(檢測腳本執行的間隔)
	 weight 2
}
vrrp_instance VI_1 {
	 state MASTER # 備份服務器上將 MASTER 改為 BACKUP 
	 interface ens33 //網卡
	 virtual_router_id 51 # 主、備機的 virtual_router_id 必須相同
	 priority 100 # 主、備機取不同的優先級,主機值較大,備份機值較小
	 advert_int 1
	 authentication {
		 auth_type PASS
		 auth_pass 1111
	 }
	 virtual_ipaddress {
		192.168.19.50 # VRRP H 虛擬地址(非真實物理地址)
	 } 
}

從服務配置:keepalivec.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.19.129
	 smtp_connect_timeout 30
	 router_id LVS_DEVEL
}
vrrp_script chk_http_port {
	 script "/usr/local/src/nginx_check.sh"
	 interval 2 #(檢測腳本執行的間隔)
	 weight 2
}
vrrp_instance VI_1 {
	 state BACKUP # 備份服務器上將 MASTER 改為 BACKUP 
	 interface ens33 //網卡
	 virtual_router_id 51 # 主、備機的 virtual_router_id 必須相同
	 priority 90 # 主、備機取不同的優先級,主機值較大,備份機值較小
	 advert_int 1
	 authentication {
		 auth_type PASS
		 auth_pass 1111
	 }
	 virtual_ipaddress {
		192.168.19.50 # VRRP H 虛擬地址(非真實物理地址)
	 } 
}

在/usr/local/src 添加檢測腳本,兩臺虛擬機都要添加

添加文件:nginx_check.sh

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

把兩臺服務器上 nginx 和 keepalived 啟動 重新啟動 nginx 啟動 keepalived:

systemctl start keepalived.service

檢驗keepalived是否啟動成功

ps -ef | grep keepalived

最終測試 在瀏覽器地址欄輸入 虛擬 ip 地址 192.168.17.50訪問

在master 輸入 ip a 可以查看到

?停止主服務器仍可以訪問從服務器

systemctl stop keepalived.service
docker stop mynginx

原文鏈接:https://blog.csdn.net/qq_29385297/article/details/127828384

欄目分類
最近更新