1.使用yum安装keepalived

yum install keepalived -y

2.修改配置文件keepalived.conf

主服务器配置文件

global_defs {
router_id NodeA
}
vrrp_script check_run {
script "/etc/keepalived/check_nginx.sh"  #自定义检查nginx的脚本
interval
weight
}
vrrp_instance VI_1 {
state MASTER #设置为主服务器
interface eth0 #监测网络接口
virtual_router_id #虚拟路由标识,主、备必须一样
priority #(主、备机取不同的优先级,主机值较大,备份机值较小,值越大优先级越高)
advert_int #VRRP Multicast广播周期秒数
nopreempt #恢复后也不抢占资源
authentication {
auth_type PASS #VRRP认证方式,主备必须一致
auth_pass 1111 #(密码)
}
track_script {
check_run
}
virtual_ipaddress {
  虚拟IP/掩码 #VRRP HA虚拟地址
}
}

检查nginx服务状态的脚本,check_nginx.sh

#!/bin/bash
netstat -npl|grep -q nginx
if [[ $? -ne ]]; then
/usr/local/nginx/sbin/nginx
if [[ $? -ne ]]; then
service keepalived stop
fi
fi

备用服务器配置文件

global_defs {
router_id NodeB
}
vrrp_script check_run{
script "/etc/keepalived/check_nginx.sh"
interval
weight
}
vrrp_instance VI_1 {
state BACKUP #设置为备服务器
interface eth0 #监测网络接口
virtual_router_id #虚拟路由标识,主、备必须一样
priority #(主、备机取不同的优先级,主机值较大,备份机值较小,值越大优先级越高)
advert_int #VRRP Multicast广播周期秒数
nopreempt #恢复后也不抢占资源
authentication {
auth_type PASS #VRRP认证方式,主备必须一致
auth_pass 1111 #(密码)
}
track_script {
check_run
}
virtual_ipaddress {
  虚拟IP/掩码 #VRRP HA虚拟地址
}
}

3.主、备服务器启动keepalived和nginx服务

 /etc/init.d/keepalived start
/etc/init.d/nginx start

查看主服务器虚拟IP是否存在

ip addr

关闭主服务器的keepalived服务,测试虚拟IP是否切换到备用服务器上

ps:

当主备服务器都出现了VIP,可能是网络环境不支持广播方式,此时要使用单播方式

unicast_src_ip 10.205.22.185    #本机IP
unicast_peer {
10.205.22.186 #备机IP
}

keepalived实现nginx的高可用的更多相关文章

  1. nginx实现请求的负载均衡 + keepalived实现nginx的高可用

    前言 使用集群是网站解决高并发.海量数据问题的常用手段.当一台服务器的处理能力.存储空间不足时,不要企图去换更强大的服务器,对大型网站而言,不管多么强大的服务器,都满足不了网站持续增长的业务需求.这种 ...

  2. Nginx实现负载均衡 + Keepalived实现Nginx的高可用

    前言 使用集群是大中型网站解决高并发.海量数据问题的常用手段.当一台服务器的处理能力.存储空间不足时,不要企图去换更强大的服务器,对大型网站而言,不管多么强大的服务器,都满足不了网站持续增长的业务需求 ...

  3. nginx keepalive 高可用

    https://blog.csdn.net/u012410733/article/details/57078407 在网络中机器不可避免的出现单点故障,当我们使用nginx进行反向代理的时候如果出现了 ...

  4. 基于keepalived 实现VIP转移,lvs,nginx的高可用

    转自:http://www.tuicool.com/articles/eu26Vz 一.Keepalived 高可用集群的解决方案 二.VRRP的有限状态机 三.利用keepalived 实现主从VI ...

  5. Keepalived+Nginx实现高可用Web负载均衡

    1.安装编译 Nginx 所需的依赖包# yum install gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zli ...

  6. [转]搭建Keepalived+Nginx+Tomcat高可用负载均衡架构

    [原文]https://www.toutiao.com/i6591714650205716996/ 一.概述 初期的互联网企业由于业务量较小,所以一般单机部署,实现单点访问即可满足业务的需求,这也是最 ...

  7. Keepalived+Nginx实现高可用(HA)

    Keepalived+Nginx实现高可用(HA) service iptables stopchkconfig iptables offsetenforce 0/etc/selinux/config ...

  8. keepalived + nginx实现高可用

    1. Keepalived介绍 Keepalived是一个基于VRRP协议来实现的服务高可用方案,可以利用其来避免IP单点故障,类似的工具还有heartbeat.corosync.pacemaker. ...

  9. Nginx(haproxy)+keepalived+Tomcat双主高可用负载均衡

    周末的时候一个正在学Linux的朋友问我,高可用怎么玩?我和他微信了将近三个小时,把Nginx和haproxy双主高可用教给他了,今天突然想把这个给写进博客里,供给那些正在学习Linux系统的朋友们, ...

随机推荐

  1. pat1094. The Largest Generation (25)

    1094. The Largest Generation (25) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yu ...

  2. 【linux下载方式的区别】wget 、apt-get、yum rpm区别

    1.wget 类似于迅雷,是一种下载工具, 通过HTTP.HTTPS.FTP三个最常见的TCP/IP协议下载,并可以使用HTTP代理名字是World Wide Web”与“get”的结合. 2.yum ...

  3. Windows Store 应用中获取程序集版本号的方法

    本文为个人博客备份文章,原文地址: http://validvoid.net/windows-store-app-get-assembly-version/ WinRT 中对反射做了很多限制,假设 W ...

  4. .NET Core 部署到CentOS–3.supervisord守护进

    1. 安装 sudo yum install python-setuptoolssudo easy_install supervisor 2. 配置 安装成功后,输入supervisord 会显示配置 ...

  5. Xtrareport 交叉报表

    什么是交叉报表呢? 官方回答:交叉表报表是以交叉表形式呈现信息的报表. 交叉表 (或透视表) 类似于简单的普通数据绑定表格,但是改为在单个表格中呈现多维的分层级的信息,并含有每行和每列的自动排序.计数 ...

  6. C#委托(一)——说明及举例

    C#命名空间下有五种类型,分别为: 类.构造.接口.枚举.委托. 委托被定义为5中基本类型的一种,也就意味着代码可以这么写: using System; namespace Test { delega ...

  7. WebView加载页面,带链接的Img在页面第一次加载时无法显示的问题

    在做一个App的过程中,用到WebView来显示几个页面.在这个过程中发现有些页面的显示出现了异常:页面中的Img链接在页面第一次加载时无法正常显示图片,退出页面再次进入后可正常显示.开始以为是Web ...

  8. window.open方法解析

    一.前言 最近在项目中需要新窗口打开一个第三方的页面,大家都知道,使用window.open打开新窗口某些情况下会被浏览器的屏蔽程序阻止.如果要打开的URL是通过AJAX获取的,就一定会被浏览器拦截. ...

  9. Hibernate课程 初探一对多映射4-3 测试--信息查询

    建立双向一对多关系,既可以由一方查询多方信息,同样可以由多方查询一方信息 demo: //查询学生所在班级 public static void showGidByStudent(){ Session ...

  10. 深入理解java虚拟机阅读笔记(1)运行时数据区域

    java虚拟机所管理的内存区域主要分为方法区.堆:虚拟机栈.本地方法栈.程序计数器,如图: 1.程序计数器是当前线程所执行的字节码行号指示器,用以记录当前指令执行的位置.程序计数器是线程私有的,每个线 ...