• 技术文章 >运维 >Nginx

    如何实现nginx高可用

    (*-*)浩(*-*)浩2019-07-20 16:01:30原创5124
    nginx高可用实现方案

    一般采用nginx+keepalived,它是一个高性能的服务器高可用或者热备解决方案,Keepalived主要来防止服务器单点故障的发生问题,可以通过其与Nginx的配合实现Web服务器端的高可用;

    Keepalived以VRRP协议为实现基础,用VRRP协议来实现高可用性(HA),VRRP(Virtual Router Redundancy Protocol)协议是用于实现路由器冗余的协议,VRRP协议将两台或者多台路由器设备虚拟成一个设备,对外提供虚拟路由器IP(一个或者多个),从而实现高可用;

    keepalived虚拟化出192.168.100.100和192.168.100.101的虚拟化ip,这个系统是两台计算机上,有4个tomcat,2个Nginx,2个Keepalived实现负载均衡策略。

    配置keepalived

    Keepalived会根据virtual_router_id和authentication两个来确定集群关系。

    #修改配置
    vim /etc/keepalived/keepalived.conf
    
    #配置文件
    ! Configuration File for keepalived
    
    global_defs {
       #从服务器最改一下这个
       router_id node1 #表示运行keepalived服务器的一个标识。发邮件时显示在邮件主题的信息
    }
    #监控服务.NGINX mysql等
    vrrp_script chk_nginx {
        script "/usr/local/keepalived/check_nginx.sh"
        #每2s检查一次
        interval 2
        #每次检查-20
        weight -20
    }
    vrrp_instance VI_1 {
        ##主从设置 MASTER/BACKUP  
        state MASTER
        #网卡名称
        interface eth0
        #同一个集群下这个 router_id是一样的
        virtual_router_id 51
        #本机的ip,需要修改
        mcast_src_ip 192.168.100.10 
        #优先级,从节点 配置,需要小于主节点
        priority 100
        #设定MASTER与BACKUP负载均衡器之间同步检查的时间间隔,单位是秒
        advert_int 1
        #认证的密码
        authentication {
            auth_type PASS
            #设定授权密码,密码相同的为一个集群
            auth_pass yellowcong
        }
        #触发的脚本
        track_script {
            chk_nginx  #检测脚本,上面配置的
        }
        #虚拟ip地址
        virtual_ipaddress {
            192.168.100.100
            192.168.100.101
        }
    }

    更多Nginx相关技术文章,请访问Nginx使用教程栏目进行学习!

    以上就是如何实现nginx高可用的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:nginx
    上一篇:nginx如何配置代理转发 下一篇:Nginx如何解决cookie跨域

    相关文章推荐

    • nginx怎么配置ssl• 怎么查看nginx日志• nginx怎么部署web项目• nginx为什么这么快

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网