首頁 > 運維 > Nginx > 如何實現nginx高可用

如何實現nginx高可用

(*-*)浩
發布: 2019-07-20 16:01:30
原創
7989 人瀏覽過

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高可用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板