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中reload流程的原理真相

    探究Nginx中reload流程的原理真相

    这篇文章主要介绍了探究Nginx中reload流程的原理真相,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • 本地通过nginx配置反向代理的全过程记录

    本地通过nginx配置反向代理的全过程记录

    这篇文章主要给大家介绍了关于本地通过nginx配置反向代理的全过程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • Nginx配置srcache_nginx模块搭配Redis建立缓存系统

    Nginx配置srcache_nginx模块搭配Redis建立缓存系统

    这篇文章主要介绍了Nginx配置srcache_nginx模块搭配Redis建立缓存系统的方法,文中关于Nginx模块和Redis数据库的安装就不再说明了,这里只关注配置搭建阶段,需要的朋友可以参考下
    2016-01-01
  • Nginx基础学习之realip模块的使用方法

    Nginx基础学习之realip模块的使用方法

    这篇文章主要给大家介绍了关于Nginx基础学习之realip模块使用的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Nginx具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2020-06-06
  • Nginx服务器搭建反向代理全攻略

    Nginx服务器搭建反向代理全攻略

    这篇文章主要介绍了Nginx服务器搭建反向代理全攻略,强大的反向代理功能也是人们选择使用Nginx的主要原因之一,需要的朋友可以参考下
    2015-08-08
  • nginx常见问题整理和解决办法

    nginx常见问题整理和解决办法

    给大家详细整理了nginx常见的问题以及对应问题的处理办法,有需要的朋友参考一下吧。
    2017-12-12
  • PHP开发框架kohana3.3.1在nginx下的伪静态设置例子

    PHP开发框架kohana3.3.1在nginx下的伪静态设置例子

    这篇文章主要介绍了PHP开发框架kohana3.3.1在nginx下的伪静态设置例子,kohana曾经是codeigniter框架的衍生版,后来发展成另一个独立的PHP5开发框架,需要的朋友可以参考下
    2014-07-07
  • 详解Nginx服务器的nginx-http-footer-filter模块配置

    详解Nginx服务器的nginx-http-footer-filter模块配置

    这篇文章主要介绍了Nginx服务器的nginx-http-footer-filter模块配置,nginx-http-footer-filter用作在请求的页面底部插入代码,需要的朋友可以参考下
    2016-01-01
  • Nginx安装及配置详细分析

    Nginx安装及配置详细分析

    这篇文章主要介绍了Nginx在各种系统和环境中的安装及配置详细分析。
    2017-11-11
  • 让VIM支持Nginx .conf文件语法高亮显示功能的方法

    让VIM支持Nginx .conf文件语法高亮显示功能的方法

    这篇文章主要给大家介绍了关于让VIM支持Nginx .conf文件语法高亮显示功能的方法,文中分别介绍了手动修改和自动化脚本两种方法的实现,都给出了详细的示例代码,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-07-07

最新评论