1、创建两台虚拟机,分别为主机和从机,区别两台虚拟机的IP地址

2、 将keepalived上传到linux系统当中

  

3、 cd /usr/local目录 

  

4、 tar -zxvf keepalived-1.2.18.tar.gz

  

5、 cd keepalived-1.2.18目录

  

6、 yum install -y openssl openssl-devel (需要安装一个软件包)

  

7、 ./configure --prefix=/usr/local/keepalived 编译,将编译文件放到/usr/local/keepalived

  

8、 make

  

9、 make install

  

10、 在/etc/keepalived 创建目录: mkdir /etc/keepalived

  

11、 cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/

  

12、 cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/

  

13、 cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/

  

14、 ln -s /usr/local/sbin/keepalived /usr/sbin/

  

  (ln -s /usr/local/keepalived/sbin/keepalived /sbin/)

15、 将nginx启动脚本和keepalived.conf配置上传到/etc/keepalived

  

  

16、 主机:修改keepalived.conf配置文件  vim /etc/keepalived/keepalived.conf

  interface 配置成与主机相同的网络 ip a
  mcast_src_ip 配置成自己机器的IP
  virtual_ipaddress {
    192.168.33.135 # 虚拟ip,也就是解决写死程序的ip怎么能切换的ip,也可扩展,用途广泛。可配置多个。
  }

   

17、 启动keepalived   启动命令service keepalived start

  如果报错:Job for keepalived.service failed because the control process exited with error code. See "systemctl status keepalived.service" and "journalctl -xe" for details.

  

18、解决办法:rm /usr/sbin/keepalived

  

19、ln -s /usr/local/keepalived/sbin/keepalived /usr/sbin/

  

20、再次启动

  

  

21、可以设置开机启动:chkconfig keepalived on  

22、自动重启不了,解决办法

  查看脚本是否有运行的权限,如果你是 root 登陆的话(不是的话,切换到 root 用户,对*.sh 赋可执行的权限)
  赋予权限命令:chmod 777 *.sh
  赋予所有权限:chmod +x *.sh
  然后运行就 OK 了,即有权限对文件进行删除等操作。

23、备机安装步骤同上,备机修改配置文件步骤如下

24、备机:修改keepalived.conf配置文件  vim /etc/keepalived/keepalived.conf

   state BACKUP 备机名称
  interface 配置成与主机相同的网络 ip a
  mcast_src_ip 配置成自己机器的IP
  priority 90  权重配置  
  virtual_ipaddress {
    192.168.33.135  # 虚拟ip,也就是解决写死程序的ip怎么能切换的ip,也可扩展,用途广泛。可配置多个。
  }

  

25、从机启动步骤同上

  

26、效果展示  访问虚拟IP地址192.168.33.135

  

27、模拟主机挂掉,高可用工具Keepalived实现自动启动备机,防止宕机

  注意:为确保区分主机与备机,在此修改了静态资源HTML的标题

  

  ①、挂掉主机

    

  ②、虚拟IP地址192.168.33.135继续访问备机

    

  ③、 虚拟IP访问效果

    

  ④、恢复主机

        

  ⑤、虚拟IP地址192.168.33.135继续访问主机

       

⑥、虚拟IP访问效果

    

29、keepalived 常用命令

  启动Keepalived:service keepalived start

  关闭Keepalived:service keepalived stop

30、注意事项

  区分主机与备机名称、

  区分主机与备机IP地址、

  区分主机与备机的权重  主机权重>备机权重

Nginx之keepalived高可用工具的更多相关文章

  1. keepalived高可用工具

    1.准备俩台虚拟机,一台主机,一台备机 我这里模拟的是 主机ip: 192.168.42.66 masternginx 备机ip: 192.168.42.77 slavenginx 虚拟ip: 192 ...

  2. nginx与 Keepalived高可用

    1.1 keepalived软件能干什么? Keepalived软件起初是专为LVS负载均衡软件设计的, 用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能 K ...

  3. nginx+keepalived高可用及双主模式

    高可用有2中方式. 1.Nginx+keepalived 主从配置 这种方案,使用一个vip地址,前端使用2台机器,一台做主,一台做备,但同时只有一台机器工作,另一台备份机器在主机器不出现故障的时候, ...

  4. nginx+keepalived高可用及双主模式【h】

    高可用有2中方式. 1.Nginx+keepalived 主从配置 这种方案,使用一个vip地址,前端使用2台机器,一台做主,一台做备,但同时只有一台机器工作,另一台备份机器在主机器不出现故障的时候, ...

  5. Nginx反向代理,负载均衡,redis session共享,keepalived高可用

    相关知识自行搜索,直接上干货... 使用的资源: nginx主服务器一台,nginx备服务器一台,使用keepalived进行宕机切换. tomcat服务器两台,由nginx进行反向代理和负载均衡,此 ...

  6. Nginx+keepalived 高可用双机热备(主从模式/双主模式)

    基础介绍负载均衡技术对于一个网站尤其是大型网站的web服务器集群来说是至关重要的!做好负载均衡架构,可以实现故障转移和高可用环境,避免单点故障,保证网站健康持续运行. 关于负载均衡介绍,可以参考:li ...

  7. Keepalived实现Nginx负载均衡高可用

    第一章:keepalived介绍 VRRP协议 目的就是为了解决静态路由单点故障问题的 第二章: keepalived工作原理 2.1 作为系统网络服务的高可用功能(failover) keepali ...

  8. Nginx知多少系列之(十四)Linux下.NET Core项目Nginx+Keepalived高可用(主从模式)

    目录 1.前言 2.安装 3.配置文件详解 4.工作原理 5.Linux下托管.NET Core项目 6.Linux下.NET Core项目负载均衡 7.负载均衡策略 8.加权轮询(round rob ...

  9. 搭建 Keepalived + Nginx + Tomcat 的高可用负载均衡架构

    1 概述 初期的互联网企业由于业务量较小,所以一般单机部署,实现单点访问即可满足业务的需求,这也是最简单的部署方式,但是随着业务的不断扩大,系统的访问量逐渐的上升,单机部署的模式已无法承载现有的业务量 ...

随机推荐

  1. 洛谷$P1600$ 天天爱跑步 树上差分

    正解:树上差分 解题报告: 传送门$QwQ$! 这题还挺妙的,,,我想了半天才会$kk$ 首先对一条链$S-T$,考虑先将它拆成$S-LCA$和$LCA-T$,分别做.因为总体上来说差不多接下来我就只 ...

  2. C#泛型(Generic)

    一.什么是泛型 泛型(Generic)是C#语言2.0.通用语言运行时(CLR)2.0..NET Framework2.0推出来的新特性. 泛型为.NET框架引入类型参数(Type Parameter ...

  3. 「CF86D」Powerful array 解题报告

    题面 给出一个\(n\)个数组成的数列\(a\),有\(t\)次询问,每次询问为一个\([l,r]\)的区间,求区间内每种数字出现次数的平方×数字的值 的和 思路: 直接上莫队咯 然后就T了 没学过莫 ...

  4. 写 Java 这么久了,来编译个 JDK 玩玩儿吧

    你每天写的 Java 代码都需要 JDK 的支持,都要跑在 JVM 上,难道你就不好奇 JDK 长什么样子吗.好奇,就来编译并实现一个自己的 JDK 吧. 本次编译环境 macOS 10.12,编译的 ...

  5. mysql-5.7.9-winx64遇坑记

    昨天在mysql5.0上导入sql文件时,一直卡在一个地方报错,也没仔细分析,认为应该是mysql版本太低不支持这个语法而已.遂决心下载一个最新版本的mysql,却浑然不知前面无数的坑已经埋伏好了在等 ...

  6. 端口扫描器--利用socket协议

    #!/usr/bin/env python # -*- coding:UTF-8 -*- import optparse import socket import threading # 用法 pyt ...

  7. JS单元测试及原理

    单元测试 单元测试是指对软件中的最小可测试单元进行检查和验证,通过单元测试可以检测出潜在的bug,还可以快速反馈功能输出,验证代码是否达到预期,也可以保证代码重构的安全性. 有这样一个方法: let ...

  8. 在64位ubuntu上安装tensorflow

    首先从ubuntu14.04的安装讲起 1.下载ubuntu14.04 64位的系统,下载地址如下: http://www.ubuntu.com/download/desktop 2.下载好64位的u ...

  9. TensorFlow——常见张量操作的API函数

    1.张量 张量可以说是TensorFlow的标志,因为整个框架的名称TensorFlow就是张量流的意思,全面的认识一下张量.在TensorFlow程序使用tensor数据结构来代表所有的数据,在计算 ...

  10. [C++]最小生成树

    1. 最小生成树定义 树是指没有环路的图,生成树就是指一个图上面删除一些边,使它没有环路. 最小生成树就是指生成树中边权之和最小的那一种. 上图的最小生成树就是这样: 2. Prim 算法 2.1. ...