如何实现nginx高可用

nginx高可用实现方案

如何实现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高可用的详细内容,更多请关注其它相关文章!