一、环境

nginx1   192.168.40.211

nginx2   192.168.40.132

vip1     192.168.40.223  主为keep1,从为keep2

vip2     192.168.40.222  主为keep2,从为keep1

(此处安装过程皆采用yum方式,不作累述)

二、keepalived配置文件

nginx1

vi /etc/keepalived/keepalived.conf

global_defs {

notification_email {

root@localhost

}

notification_email_from keepalived@localhost

smtp_server 127.0.0.1

smtp_connect_timeout 30

route_id LVS_DEVEL

}

vrrp_script_chk_nginx {

script "/etc/keepalived/ck_ng.sh"

interval 2

weight 2

}

#VIP1

vrrp_instance VI_1 {

state MASTER

interface ens33

lvs_sync_daemon_interface ens33

virtual_router_id 151

priority 100

advert_int 5

nopreempt

authentication {

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

192.168.40.223

}

track_script {

chk_nginx

}

}

#VIP2

vrrp_instance VI_2 {

state BACKUP

interface ens33

lvs_sync_daemon_interface ens33

virtual_router_id 152

priority 90

advert_int 5

nopreempt

authentication {

auth_type PASS

auth_pass 2222

}

virtual_ipaddress {

192.168.40.222

}

track_script {

chk_nginx

}

}


nginx2

#vi /etc/keepalived/keepalived.conf

global_defs {

notification_email {

root@192.168.40.132

}

notification_email_from keepalived@192.168.40.132

smtp_server 127.0.0.1

smtp_connect_timeout 30

route_id LVS_DEVEL

}

vrrp_script_chk_nginx {

script "/etc/keepalived/ck_ng.sh"

interval 2

weight 2

}

#VIP1

vrrp_instance VI_1 {

state BACKUP

interface ens33

lvs_sync_daemon_interface ens33

virtual_router_id 151

priority 90

advert_int 5

nopreempt

authentication {

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

192.168.40.223

}

track_script {

chk_nginx

}

}

#VIP2

vrrp_instance VI_2 {

state MASTER

interface ens33

lvs_sync_daemon_interface ens33

virtual_router_id 152

priority 100

advert_int 5

nopreempt

authentication {

auth_type PASS

auth_pass 2222

}

virtual_ipaddress {

192.168.40.222

}

track_script {

chk_nginx

}

}

三、nginx检测脚本(两台机子一样)

#vi /etc/keepalived/ck_ng.sh

#!/bin/bash

#检查nginx进程是否存在

counter=$(ps -C nginx --no-heading|wc -l)

if [ "${counter}" = "0" ]; then

#尝试启动一次nginx,停止5秒后再次检测

service nginx start

sleep 5

counter=$(ps -C nginx --no-heading|wc -l)

if [ "${counter}" = "0" ]; then

#如果启动没成功,就杀掉keepalive触发主备切换

service keepalived stop

fi

fi

#chmod +x /etc/keepalived/ck_ng.sh

四、测试

[root@localhost ~]# ip a (nginx1)

....

2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

link/ether 00:0c:29:17:c0:db brd ff:ff:ff:ff:ff:ff

inet 192.168.40.211/24 brd 192.168.40.255 scope global ens33

valid_lft forever preferred_lft forever

inet 192.168.40.223/32 scope global ens33

valid_lft forever preferred_lft forever

inet6 fe80::20c:29ff:fe17:c0db/64 scope link

valid_lft forever preferred_lft forever

[root@localhost ~]# ip a  (nginx2)

....

2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

link/ether 00:0c:29:5e:ba:a3 brd ff:ff:ff:ff:ff:ff

inet 192.168.40.132/24 brd 192.168.40.255 scope global ens33

valid_lft forever preferred_lft forever

inet 192.168.40.222/32 scope global ens33

valid_lft forever preferred_lft forever

inet6 fe80::20c:29ff:fe5e:baa3/64 scope link

valid_lft forever preferred_lft forever

停掉nginx1的keepalived,此时nginx1的vip转移到nginx2,如下

[root@localhost ~]# ip a

....

2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

link/ether 00:0c:29:5e:ba:a3 brd ff:ff:ff:ff:ff:ff

inet 192.168.40.132/24 brd 192.168.40.255 scope global ens33

valid_lft forever preferred_lft forever

inet 192.168.40.222/32 scope global ens33

valid_lft forever preferred_lft forever

inet 192.168.40.223/32 scope global ens33

valid_lft forever preferred_lft forever

inet6 fe80::20c:29ff:fe5e:baa3/64 scope link

valid_lft forever preferred_lft forever

两个虚拟IP跑到一台机子上,实验成功

nginx+keepalived(双主)的更多相关文章

  1. 企业Nginx+Keepalived双主架构案例实战

    通过上一次课程的学习,我们知道Nginx+keepalived主从配置,始终有一台服务器处于空余状态,那如何更好的利用起来呢,我们需要借助Nginx+keepalived双主架构来实现,如下图通过改装 ...

  2. nginx+keepalived双主高可用负载均衡

    实验环境及软件版本:CentOS版本: 6.6(2.6.32.-504.el6.x86_64)nginx版本: nginx-1.6.3keepalived版本:keepalived-1.2.7 主LB ...

  3. Nginx+Keepalived双主架构实现

    Keepalived+Nginx实现高可用Web负载均衡 Master 192.168.0.69 nginx.keepalived Centos7.4backup 192.168.0.70 nginx ...

  4. 配置nginx + keepalived 双主模式(双机互为主备)

  5. [转] Haproxy、Keepalived双主高可用负载均衡

    http://blog.chinaunix.net/uid-25266990-id-3989321.html 在测试了Nginx+Keepalived的负载均衡后,也对Haproxy+Keepaliv ...

  6. Nginx + Keeplived双主测试

    Author: JinDate: 20130613Title: Nginx + Keeplived 双主测试 前言:一年多前做过一次测试,时间久了忘记了,现在又重新做一次 一.环境1.基本信息和规划p ...

  7. MariaDB+Keepalived双主高可用配置MySQL-HA

    利用keepalived构建高可用MySQL-HA,保证两台MySQL数据的一致性,然后用keepalived实现虚拟VIP,通过keepalived自带的服务监控功能来实现MySQL故障时自动切换. ...

  8. keepalived+双主实践HA

    工作不怎么忙,搞点儿开发吧差点儿事,就想着弄点儿架构的事儿.正好前段时间看过关于keepalived+双主实现高可用的文章,也恰好身边的朋友所在的公司也部分用这个架构.没什么事儿就搞搞吧,正好对比下M ...

  9. Mysql+Keepalived双主热备高可用操作记录

    我们通常说的双机热备是指两台机器都在运行,但并不是两台机器都同时在提供服务.当提供服务的一台出现故障的时候,另外一台会马上自动接管并且提供服务,而且切换的时间非常短.MySQL双主复制,即互为Mast ...

  10. MySQL keepalived 双主.md

    MySQL keepalived 双主搭建 环境说明 系统 IP 主机名 mysql keepalived VIP CentOS 6.8 192.168.197.61 C6-node1 5.6.36 ...

随机推荐

  1. python之爬取网页数据总结(一)

    今天尝试使用python,爬取网页数据.因为python是新安装好的,所以要正常运行爬取数据的代码需要提前安装插件.分别为requests    Beautifulsoup4   lxml  三个插件 ...

  2. HDU6740 2019CCPC秦皇岛赛区 J. MUV LUV EXTRA

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=6740思路:求小数部分后k位的真前后缀 倒着kmp就好 #include<bits/stdc++.h& ...

  3. C# 常用方法——图片转base64字符串

    其他扩展方法详见:https://www.cnblogs.com/zhuanjiao/p/12060937.html /// <summary> /// Image 转成 base64 / ...

  4. 学习springboot(三)——springboot+mybatis出现org.apache.ibatis.binding.BindingException: Invalid bound state

    有段时间没搭建过了生疏了,记录下出现此情况且你能通过注解的方式正常进行数据库操作,只是通过mapper.xml不行就可以看看这个了.主要问题应该是配置上,不要太自信自己,再仔细找找.1.查看xml是否 ...

  5. Git 删除本地保存的账号和密码

    使用git在本地拉过一次代码时候git会自动将用户名密码保存到本地. 导致想用别的用户名和密码拉代码时没有权限,这时需要删除或者修改git在本地保存的账户名和密码. 具体办法如下: 1.控制面板--& ...

  6. CF D. Number Of Permutations 排列

    挺水的一道题~ 拿全排列随便乘一下就好了. #include <cstdio> #include <algorithm> #define N 300004 #define ll ...

  7. vim文件编辑器

    Vim 是 Vi 的增强版(在 Vi 的基础上增加了正则表达式的查找.多窗口的编辑等功能),使用 Vim 进行程序开发会更加方便. 想深入了解 Vi 和 Vim 的区别,可以在 Vim 命令模式下输入 ...

  8. Hexo + github pages + 阿里云绑定域名搭建个人博客

    申请域名 万网购买的域名,地址:https://wanwang.aliyun.com/domain/com?spm=5176.8142029.388261.137.LoKzy7 控制台进行解析 控制台 ...

  9. week5 作业

    week5 作业 1.描述GPT是什么,应该怎么使用? 描述GPT之前要简单了解MBR分区,MBR(Main Boot Record)叫做主引导记录,其位于磁盘的最前端,由一段代码组成,共占用512个 ...

  10. JS框架_(JQuery.js)纯css3进度条动画

    百度云盘 传送门 密码:wirc 进度条动画效果: <!DOCTYPE html> <html lang="zh"> <head> <me ...