Home  >  Article  >  Operation and Maintenance  >  How to achieve nginx high availability

How to achieve nginx high availability

(*-*)浩
(*-*)浩Original
2019-07-15 13:15:447839browse

nginx High Availability Implementation Solution

How to achieve nginx high availability

Generally nginx keepalived is used, which is a high-performance server high availability or hot standby solution Solution, Keepalived is mainly used to prevent single point failures of the server. It can achieve high availability on the Web server through its cooperation with Nginx;

Keepalived is based on the VRRP protocol and uses VRRP protocol to achieve high availability (HA). The VRRP (Virtual Router Redundancy Protocol) protocol is a protocol used to implement router redundancy. The VRRP protocol virtualizes two or more router devices into one device and provides external virtual router IP (one or Multiple) to achieve high availability;

keepalived virtualizes the virtualized IPs of 192.168.100.100 and 192.168.100.101. This system is on two computers, with 4 tomcats and 2 Nginx , 2 Keepalived implement load balancing strategy.

Configuring keepalived

Keepalived will determine the cluster relationship based on virtual_router_id and 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
    }
}

For more Nginx related technical articles, please visit the Nginx Usage Tutorial column to learn!

The above is the detailed content of How to achieve nginx high availability. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn