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. SpringBoot系列之自定义starter实践教程

    SpringBoot系列之自定义starter实践教程 Springboot是有提供了很多starter的,starter翻译过来可以理解为场景启动器,所谓场景启动器配置了自动配置等等对应业务模块的一 ...

  2. 004使用u-boot烧写裸版程序

  3. 【题解】P1712 [NOI2016]区间(贪心+线段树)

    [题解]P1712 [NOI2016]区间(贪心+线段树) 一个observe是,对于一个合法的方案,将其线段长度按照从大到小排序后,他极差的来源是第一个和最后一个.或者说,读入的线段按照长度分类后, ...

  4. 面试中经常问到的Redis七种数据类型,你都真正了解吗?

    前言 Redis不是一个简单的键值对存储,它实际上是一个支持各种类型数据结构的存储.在传统的键值存储中,是将字符串键关联到字符串值,但是在Redis中,这些值不仅限于简单的字符串,还可以支持更复杂的数 ...

  5. redis 为什么是单线程,为什么速度快。

    redis 5中存储方式 String.List.Set.Hash.ZSet这5种 数据库的工作模式按存储方式可分为: 硬盘数据库和内存数据库.Redis 将数据储存在内存里面,读写数据的时候都不会受 ...

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

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

  7. Shell脚本实现DB2数据库表导出到文件

    该Shell脚本用于实现将DB2数据库表导出到文件,将在另一篇博文<Java代码调用Shell脚本并传入参数实现DB2数据库表导出到文件>中通过Java代码实现调用该脚本并传入参数. #! ...

  8. txLive模块(直播类)试用分享

    本文出自APICloud官方论坛, 感谢论坛版主uoaccw的分享. txLive 模块封装了腾讯云直播服务 https://docs.apicloud.com/Client-API/Open-SDK ...

  9. typescript学习笔记(一)---基础变量类型

    作为一个前端开发者,学习新技术跟紧大趋势是必不可少的.随着2019年TS的大火,我打算利用一个月的时间学习这门语言.接下来的几篇文章是我学习TS的学习笔记,其中也会掺杂一些学习心得.话不多说,先从基础 ...

  10. 类选择器练习:Google 案例

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...