keepalived+nginx主主

来源:互联网 发布:支付宝怎么绑定淘宝 编辑:程序博客网 时间:2024/06/03 19:27

keepalived+nginx的主备架构模式,始终会有一台服务器处于空闲状态,可以通过keepalived+nginx主主架构来实现两台服务器的合理利用,主主服务器对外有两个VIP地址来接收客户端的请求。

  • 环境

192.168.2.118 nginx主/keepalived-master1
192.168.2.119 nginx从/keepalived-master2
192.168.2.112 lap

  • 配置主主

在上一章已经在118和119服部署好了keepalived服务。接下来配置双主结构
备份好118和119的keepalived配置文件

cp /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak

118的keepalived配置文件内容如下

! Configuration File for keepalived global_defs {  notification_email {      abc@163.com }    notification_email_from abc@163.com    smtp_server 127.0.0.1    smtp_connect_timeout 30    router_id LVS_DEVEL } vrrp_script chk_nginx {    script "/data/sh/check_nginx.sh"    interval 2    weight 2 } vrrp_instance VI_1 {     state MASTER     interface eth0     lvs_sync_daemon_inteface eth0     virtual_router_id 50     priority 100     advert_int 5     nopreempt     authentication {         auth_type  PASS         auth_pass  1111     }virtual_ipaddress {          192.168.2.130     }     track_script {     chk_nginx    } } vrrp_instance VI_2 {     state BACKUP     interface eth0     lvs_sync_daemon_inteface eth0     virtual_router_id 51     priority  90     advert_int 5     nopreempt     authentication {         auth_type  PASS         auth_pass  2222     }     virtual_ipaddress {         192.168.2.131     }     track_script {     chk_nginx    } }

119服的keepalived配置文件参考上面的参数,把V1的state改成BACKUP,优先级priority改成90,把V2的state改成MASTER,优先级priority改成100


nginx检测脚本check_nginx.sh(注意执行权限chmod u+x check_nginx.sh)

#!/bin/bash#2017年12月5日21:50:40#auto check nginx#by lee###################killall -0 nginxif [[ $? -ne 0 ]];then        /etc/init.d/keepalived stopfi

启动118和119的keepalived服务并查看日志

service keepalived starttail -f /var/log/messages

可以看到进入了master


查看ip

ip addr list

118服:
这里写图片描述

119服:
这里写图片描述


浏览器分别访问:
这里写图片描述

这里写图片描述

手动停止118的nginx服务,然后再访问192.168.2.130,可以正常的打开web界面

查看VIP,可以看到VIP:192.168.2.130移到了119服下:
这里写图片描述

再次手动启动118的服务

[root@mysqlm keepalived]# /usr/local/nginx/sbin/nginx [root@mysqlm keepalived]# service keepalived start

可以看到VIP:192.168.2.130又返回到118服下

至此keepalived+nginx双主结构配置完成。

原创粉丝点击