nginx搭建高可用集群的实现方法

 更新时间:2023年01月28日 15:21:13   作者:呆萌很  
本文主要介绍了nginx搭建高可用集群的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

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

至此实现nginx高可用集群。更多相关nginx 高可用集群内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Nginx热部署的实现

    Nginx热部署的实现

    本文主要介绍了Nginx热部署的实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • 一次说清Nginx反向代理及参数配置

    一次说清Nginx反向代理及参数配置

    我们在配置服务时常常会用到Nginx来设置反向代理,虽然常用,但是我们真的了解各个参数的意思吗,本文就给大家一次说清Nginx反向代理及参数配置,需要的朋友可以参考下
    2023-05-05
  • 简单指南:在Linux上安装Nginx

    简单指南:在Linux上安装Nginx

    本文将介绍如何在Linux系统下安装Nginx,Nginx是一款高性能的Web服务器和反向代理服务器,被广泛用于构建高可靠性、高性能的网站和应用程序,通过本文的指导,您将学会如何在Linux系统上安装Nginx,并进行基本的配置,需要的朋友可以参考下
    2023-10-10
  • Nginx常用功能详解

    Nginx常用功能详解

    NGiNX 是个非常优秀的HTTP 服务器软件,可以通过设置有实现许多功能,如目录保护、IP访问限制、防盗链、下载限速及设置多域名等等
    2014-07-07
  • Nginx与浏览器缓存的处理方法

    Nginx与浏览器缓存的处理方法

    这篇文章主要介绍了Nginx与浏览器缓存的处理方法,非常不错,具有参考借鉴价值,需要的朋友参考下吧
    2018-04-04
  • 使用nginx搭建点播和直播流媒体服务器的方法步骤

    使用nginx搭建点播和直播流媒体服务器的方法步骤

    本篇文章主要介绍了使用nginx搭建点播和直播流媒体服务器的方法步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • Nginx 合并请求连接且加速网站访问实例详解

    Nginx 合并请求连接且加速网站访问实例详解

    这篇文章主要介绍了Nginx 合并请求连接且加速网站访问实例详解,浏览器的并发请求数目限制是针对同一域名的,同一时间针对同一域名下的请求有一定数量限制,超过限制数目的请求会被阻塞,需要的朋友可以参考下
    2019-07-07
  • Nginx服务器的反向代理proxy_pass配置方法讲解

    Nginx服务器的反向代理proxy_pass配置方法讲解

    这篇文章主要介绍了Nginx服务器的反向代理proxy_pass配置方法讲解,包括经常被提到的url的/问题的相关说明,需要的朋友可以参考下
    2016-01-01
  • Nginx中keepalive配置小结

    Nginx中keepalive配置小结

    本文介绍了Nginx keepalive配置的概念和作用,阐述了keepalive连接的基本原理和优势,并给出了一些常用的配置示例,具有一定的参考价值,感兴趣的可以了解一下
    2023-09-09
  • nginx sticky实现基于cookie负载均衡示例详解

    nginx sticky实现基于cookie负载均衡示例详解

    这篇文章主要为大家介绍了nginx sticky实现基于cookie负载均衡示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12

最新评论