nginx+keepalived简单双机主从热备

双机主从热备概述

可以两台机子互为热备,平时各自负责各自的服务。在做上线更新的时候,关闭一台服务器的tomcat后,nginx自动把流量切换到另外一台服务的后备机子上,从而实现无痛更新,保持服务的持续性,提高服务的可靠性,从而保证服务器7*24小时运行。

 

首先使用keepalived虚拟VIP

删除掉原来的  rm -rf  /etc/keepalived/keepalived.conf

vi /etc/keepalived/keepalived.conf   

添加:

vrrp_script chk_nginx {

script "/etc/keepalived/nginx_check.sh" #运行脚本,脚本内容下面有,就是起到一个nginx宕机以后,自动开启服务
interval 2 #检测时间间隔
weight -20 #如果条件成立的话,则权重 -20
}
# 定义虚拟路由,VI_1 为虚拟路由的标示符,自己定义名称
vrrp_instance VI_1 {
state MASTER #来决定主从 MASTER为主 BACKUP为从
interface eth0 # 绑定虚拟 IP 的网络接口,根据自己的机器填写 ip a指令查看 (如下图)
virtual_router_id 121 # 虚拟路由的 ID 号, 两个节点设置必须一样 121自己随便定义 是个数字就OK

mcast_src_ip 192.168.91.7 #填写本机ip

priority 100 # 节点优先级,主要比从节点优先级高

nopreempt # 优先级高的设置 nopreempt 解决异常恢复后再次抢占的问题
advert_int 1 # 组播信息发送间隔,两个节点设置必须一样,默认 1s
authentication { ##账号密码
auth_type PASS
auth_pass 1111
}
# 将 track_script 块加入 instance 配置块
track_script {
chk_nginx #执行 Nginx 监控的服务
}

virtual_ipaddress {
192.168.91.110 # 虚拟ip,也就是解决写死程序的ip怎么能切换的ip,也可扩展,用途广泛。可配置多个。
}
}

 

Nginx+keepalived简单双机主从热备

每个服务虚拟安装keepalived 虚拟一个VIP ,配置主从关系,当主挂了,直接走备机。

Keepalived虚拟VIP 地址 192.168.91.666

A 服务器 192.168.91.5  从

B 服务器 192.168.91.7  主

 

Nginx安装: https://www.cnblogs.com/toov5/p/9902692.html

 

安装成功后修改主服务器的Nginx html的index.html 

’访问:  真实物理地址访问结果

 

 

  启动  service keepalived start

 启动日志   tail -f /var/log/messages

 

成功!

或者 ip a

 

访问虚拟ip

同理设置备机:  修改一个配置 state BACKUP  一个本地ip即可 

vrrp_script chk_nginx {

script "/etc/keepalived/nginx_check.sh" #运行脚本,脚本内容下面有,就是起到一个nginx宕机以后,自动开启服务
interval 2 #检测时间间隔
weight -20 #如果条件成立的话,则权重 -20
}
# 定义虚拟路由,VI_1 为虚拟路由的标示符,自己定义名称
vrrp_instance VI_1 {
state BACKUP #来决定主从 MASTER为主 BACKUP为从

interface eth0 # 绑定虚拟 IP 的网络接口,根据自己的机器填写 ip a指令查看 (如下图)
virtual_router_id 121 # 虚拟路由的 ID 号, 两个节点设置必须一样 121自己随便定义 是个数字就OK

mcast_src_ip 192.168.91.5  #填写本机ip

priority 100 # 节点优先级,主要比从节点优先级高

nopreempt # 优先级高的设置 nopreempt 解决异常恢复后再次抢占的问题
advert_int 1 # 组播信息发送间隔,两个节点设置必须一样,默认 1s
authentication { ##账号密码
auth_type PASS
auth_pass 1111
}
# 将 track_script 块加入 instance 配置块
track_script {
chk_nginx #执行 Nginx 监控的服务
}

virtual_ipaddress {
192.168.91.110 # 虚拟ip,也就是解决写死程序的ip怎么能切换的ip,也可扩展,用途广泛。可配置多个。
}
}

 

如果实现一主一备时候 虚拟VIP 只能在一台服务器存放 

如果实现多主 多备情况  虚拟VIP 可以多台存放

 

一主一备 虚拟ip一样

但是 VIP是在主机上的 当主机宕机了之后 会在备机

启动后:

虚拟vip只在主上

启动 ngxin  keeplived 服务

访问

 

 一直是主,刷新

 

停止主 service keepalived stop 访问

 

虚拟ip 跑这里了 备机

 

启动主 

 

posted @ 2018-11-07 00:31  toov5  阅读(308)  评论(0编辑  收藏  举报