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. verilog if语句

    a.基本形式 1) if(表达式) 语句1: 2)if(表达式) 语句1: else 语句1 3) if(表达式1) 语句1: else   if(表达式2) 语句2: else   if(表达式3) ...

  2. Hash表的原理

    哈希的概念:Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值.这种转换是一种压缩 ...

  3. Smarty 限制foreach的循环次数

    <!--{foreach from=$news item=news name=foo}--> <!--{if $smarty.foreach.foo.index <7}--&g ...

  4. C++/CLI中的const literal initonly 友元(转)

    C++/CLI中的const literal initonly 友元 C++/CLI中的const Visual C++并不允许在const对象上调用成员函数,除非该成员函数也被声明为const. C ...

  5. (转)Java实现Web Service过程中处理SOAP Header的问题

    网上有篇文章,大致这么说的(如下文),最后我采用的wsimport  -XadditionalHeaders的方式. StrikeIron offers two authentication meth ...

  6. C# Label背景透明

    Label背景透明是相对于Label的Parent而言的,如果Label的Parent是一个winform,而这个winform又有一个PictureBox,现在Label放在PictureBox上, ...

  7. 什么是css sprites,如何使用?

    css sprites:精灵图(雪碧图):把一堆小图片整合在一张大图上,通过背景图片相关设置(背景图片.背景图是否重复.背景图定位),显示图片,减轻服务器对图片的请求数量 优点: 1.减少网页的HTT ...

  8. .net函数

    Math.Ceiling() Math.Floor() == 向上取整,向下取整 Regex.Split(productListControl.Text, "\n", RegexO ...

  9. IDEA导入Web项目

    最近尝试着从eclipse.myeclipse转到idea上面来开发. *注:以下仅适用于普通web项目.*  一.导入已有项目 File>Open...>选取自己的项目位置 二.添加ja ...

  10. Ubuntu、Windows 、Linux集合

    一.Ubuntu/Windows双系统修复引导   首先说明:在Windows存在的前提下安装Ubuntu(或者Ubuntu系列)是不需要修复引导的.因为grub会自动搜索存在硬盘中的系统.   而在 ...