学习nginx (七 ) 配合keepalived实现多机高可用

版权声明:转载的话 请标明出处 https://blog.csdn.net/qq_28198181/article/details/88186502

学习的一些简单操作进行记录,需要配合keepalived对nginx实现多机高可用

学习的网址:https://www.majiaxueyuan.com/uc/play/40

nginx 下载地址:http://nginx.org/en/download.html

keepalived下载地址:https://download.csdn.net/download/qq_28198181/10997081

目录

1.配置多机keepalived

2.修改配置文件

3.启动多机keepalived

4.测试


1.配置多机keepalived

需要两个相同配置的linux服务器 也安装了同样的nginx 和 keepalived

2.修改配置文件

修改/etc/keepalived.conf文件

vim /etc/keepalived/keepalived.conf

主机Master修改

vrrp_script chk_nginx {
    script "/etc/keepalived/nginx_check.sh" #运行脚本,脚本内容下面有,就是起到一个nginx宕机以后,自动开启服务
    interval 2 #检测时间间隔
    weight -20 #如果条件成立的话,则权重 -20
}
# 定义虚拟路由,VI_1 为虚拟路由的标示符,自己定义名称
vrrp_instance VI_1 {
    state MASTER #来决定主从
    interface ens33 # 绑定虚拟 IP 的网络接口,根据自己的机器填写
    virtual_router_id 121 # 虚拟路由的 ID 号, 两个节点设置必须一样
    mcast_src_ip 192.168.174.138 #填写本机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.174.119 # 虚拟ip,也就是解决写死程序的ip怎么能切换的ip,也可扩展,用途广泛。可配置多个。

master配置注意:

state 决定主从 master 是主 backup 是从

priority 节点优先级设置 我这 master设置的100

virtual_ipaddress  虚拟ip地址,设置为192.168.174.119

从机backup配置

vrrp_script chk_nginx {
    script "/etc/keepalived/nginx_check.sh" #运行脚本,脚本内容下面有,就是起到一个nginx宕机以后,自动开启服务
    interval 2 #检测时间间隔
    weight -20 #如果条件成立的话,则权重 -20
}
# 定义虚拟路由,VI_1 为虚拟路由的标示符,自己定义名称
vrrp_instance VI_1 {
    state BACKUP #来决定主从
    interface ens33 # 绑定虚拟 IP 的网络接口,根据自己的机器填写
    virtual_router_id 121 # 虚拟路由的 ID 号, 两个节点设置必须一样
    mcast_src_ip 192.168.174.141 #填写本机ip
    priority 90 # 节点优先级,主要比从节点优先级高
    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.174.119 # 虚拟ip,也就是解决写死程序的ip怎么能切换的ip,也可扩展,用途广泛。可配置多个。
    }
}

state 设置注意

state 为 backup

priority 我自己设置的为90 为了让主节点优先级高

virtual_ipaddress 设置的虚拟ip 为了启动后可以去访问

3.启动多机keepalived

两个服务器配置好了后 重启keepalived(也会间接启动nginx)

4.测试

使用页面访问nginx

首先是两个物理地址的nginx

138的(master)

141的(backup)

这时候用119的虚拟ip打开(两个服务都正常情况下)会去访问138服务

我把138服务停掉,模拟138的主服务器断开了,且无法启动

再次访问119ip地址

从138变成了141 我再将138的服务重启。访问

这个时候就又是138的ip服务器上了

以上

猜你喜欢

转载自blog.csdn.net/qq_28198181/article/details/88186502