https://www.cnblogs.com/zcc666/p/13141626.html  这个是nginx安装教程地址

https://www.cnblogs.com/zcc666/p/13138260.html  这个是Keepalived的安装教程地址

1.首先把nginx、Keepalived安装好了,我们开始进行今天的技术分析话题

2.准备2台linux负载服务器,并且2台都要安装nginx、Keepalived程序。

准备一个虚拟IP,我这里用192.168.1.20

第一台linux的地址:192.168.2.2 (主 MASTER)

第二台linux的地址:192.168.2.3 (从 BACKUP)

3.nginx里面的配置写好自己要负载的ip地址和端口号。

4.开始对第一台linux的地址:192.168.2.2 (主 MASTER)的Keepalived的配置进行修改。

默认的配置路径在  /etc/Keepalived/Keepalived.conf

global_defs {
router_id LVS_DEVEL
script_user root
enable_script_security
}
vrrp_script chk_nginx
{
script "/etc/keepalived/scripts/nginx_check.sh"
interval 2
timeout 2
fall 3
weight -20
} vrrp_instance nginx {
state MASTER
interface eth0
virtual_router_id 100
priority 100
#nopreempt # no seize,must add
advert_int 1
authentication { #all node must same
auth_type PASS
auth_pass 1111
} unicast_src_ip 192.168.2.2
unicast_peer {
192.168.2.3
} virtual_ipaddress {
192.168.1.20
}
track_script {
chk_nginx
} }

在这个地方新增一个文件夹

mkdir   /etc/keepalived/scripts/

这个下面存放一个脚本  nginx_check.sh,代码如下

#!/bin/bash
A=`ps -C nginx --no-header |wc -l`
if [ $A -eq 0 ];then
systemctl start nginx
sleep 2
if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
systemctl stop keepalived.service
fi
fi

之后,对该scripts下脚本赋给权限

chmod   a+x  /etc/keepalived/scripts/*.sh

此时就可以启动keepalived、nginx

然后看看 ip add 这里的VIP就漂移到主负载地址下面了。

++++++++++++++++++++++++++++++++++++++++++

++++++++++++++++++++++++++++++++++++++++++

5.开始对第一台linux的地址:192.168.2.3 (主 BACKUP)的Keepalived的配置进行修改。

默认的配置路径在  /etc/Keepalived/Keepalived.conf

global_defs {
router_id LVS_DEVEL
script_user root
enable_script_security
}
vrrp_script chk_nginx
{
script "/etc/keepalived/scripts/nginx_check.sh"
interval 2
timeout 2
fall 3
weight -20
} vrrp_instance nginx {
state BACKUP
interface eth0
virtual_router_id 100
priority 90
#nopreempt # no seize,must add
advert_int 1
authentication { #all node must same
auth_type PASS
auth_pass 1111
} unicast_src_ip 192.168.2.3
unicast_peer {
192.168.2.2
} virtual_ipaddress {
192.168.1.20
}
track_script {
chk_nginx
} }

在这个地方新增一个文件夹

mkdir   /etc/keepalived/scripts/

这个下面存放一个脚本  nginx_check.sh,代码如下

#!/bin/bash
A=`ps -C nginx --no-header |wc -l`
if [ $A -eq 0 ];then
systemctl start nginx
sleep 2
if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
systemctl stop keepalived.service
fi
fi

之后,对该scripts下脚本赋给权限

chmod   a+x  /etc/keepalived/scripts/*.sh

此时就可以启动keepalived、nginx

然后看看 ip add 这里的VIP不在此服务器上。

最后:

可以关闭主服务器的keepalived、nginx 然后看看从服务器的vip就漂移过来了。

Nginx+Keepalived+VIP漂移实现HA高可用技术之详细教程的更多相关文章

  1. Redis主从复制+Keepalived+VIP漂移实现HA高可用技术之详细教程

    1.大家可以先看我的单台Redis安装教程,链接在此点击Redis在CentOS for LInux上安装详细教程 2.第一台redis配置,是正常配置.作为MASTER主服务器,第二台redis的配 ...

  2. Nginx+Keepalived(双机热备)搭建高可用负载均衡环境(HA)

    原文:https://my.oschina.net/xshuai/blog/917097 摘要: Nginx+Keepalived搭建高可用负载均衡环境(HA) http://blog.csdn.ne ...

  3. Nginx+Keepalived(双机热备)搭建高可用负载均衡环境(HA)-转帖篇

    原文:https://my.oschina.net/xshuai/blog/917097 摘要: Nginx+Keepalived搭建高可用负载均衡环境(HA) http://blog.csdn.ne ...

  4. 搭建 docker + nginx + keepalived 实现Web应用的高可用(亲测)

    1. 环境准备     下载 VMware : https://www.vmware.com/go/getplayer-win        下载 Centos : https://mirrors.a ...

  5. Nginx(七):keepalived实现Nginx负载均衡服务器的双机高可用

    前言 之前咱们通过 Nginx(六):Nginx HTTP负载均衡和反向代理的配置与优化 和 Nginx+tomcat组合实现高并发场景的动静分离和负载均衡方案 这两篇文章了解了Nginx对高并发应用 ...

  6. Kubeadm 1.9 HA 高可用集群本地离线镜像部署【已验证】

    k8s介绍 k8s 发展速度很快,目前很多大的公司容器集群都基于该项目,如京东,腾讯,滴滴,瓜子二手车,易宝支付,北森等等. kubernetes1.9版本发布2017年12月15日,每三个月一个迭代 ...

  7. [K8s 1.9实践]Kubeadm 1.9 HA 高可用 集群 本地离线镜像部署

    k8s介绍 k8s 发展速度很快,目前很多大的公司容器集群都基于该项目,如京东,腾讯,滴滴,瓜子二手车,北森等等. kubernetes1.9版本发布2017年12月15日,每是那三个月一个迭代, W ...

  8. centos HA高可用集群 heartbeat搭建 heartbeat测试 主上停止heartbeat服务 测试脑裂 两边都禁用ping仲裁 第三十二节课

    centos   HA高可用集群  heartbeat搭建 heartbeat测试  主上停止heartbeat服务  测试脑裂  两边都禁用ping仲裁  第三十二节课 heartbeat是Linu ...

  9. HA高可用的搭建

    HA 即 (high available)高可用,又被叫做双机热备,用于关键性业务. 简单理解就是,有两台机器A和B,正常是A提供服务,B待命闲置,当A宕机或服务宕掉,会切换至B机器继续提供服务.常用 ...

随机推荐

  1. Hoo Smart Chain 万物生长计划火热报名中,可视化公链迸发勃勃生机

    在DeFi越来越趋向同质化和静态化时,Hoo Smart Chain决定充当破局者,宣布决定All In元宇宙,并于2022年3月份开启面向全球去中心化开发者的奖励计划--「万物生长计划」 目前Ter ...

  2. STM32 DMA(UART)

    转载自https://blog.csdn.net/as480133937/article/details/104827639/

  3. Linux操作系统,为什么需要内核空间和用户空间?

    点击上方"开源Linux",选择"设为星标" 回复"学习"获取独家整理的学习资料! 本文以 32 位系统为例介绍内核空间(kernel sp ...

  4. vuepress搭建UI组件库文档踩坑篇

    为了实现组件效果预览及代码展示可折叠功能,使用了插件vuepress-plugin-demo-container 相关配置可参考官网说明文档 第一步 安装插件 npm i - D vuepress-p ...

  5. CRM项目的整理-----第二篇

    1.项目的登录 1.1 app创建二级路由 2.登录页面   http://www.jq22.com/

  6. navicat软件、 python操作MySQL

    查询关键字之having过滤 having与where的功能是一模一样的 都是对数据进行筛选 where用在分组之前的筛选 havng用在分组之后的筛选 为了更好的区分 所以将where说成筛选 ha ...

  7. 【数据库】MySQL如何删除索引

    1.查看表上的索引 -- 查看table_name表上的索引 show index from table_name ; 2.删除表上的索引 删除索引可以使用ALTER TABLE或DROP INDEX ...

  8. HBase数据库基础操作

    实验要求: 根据上面给出的学生表Student的信息,执行如下操作: 用Hbase Shell命令创建学生表Student: create 'student','name', 'score' put ...

  9. 类型安全的 Go HTTP 请求

    前言 对 Gopher 来说,虽然我们基本都是在写代码让别人来请求,但是有时候,我们也需要去请求第三方提供的 RESTful 接口,这个时候,我们才能感受到前端同学拼接 HTTP 请求参数的痛苦. 比 ...

  10. B - A Simple Task

    https://vjudge.net/contest/446582#problem/B 这道题是一道不错的线段树练代码能力的题. #include<bits/stdc++.h> using ...