1.使用yum安装keepalived

  1. yum install keepalived -y

2.修改配置文件keepalived.conf

主服务器配置文件

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

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

  1. #!/bin/bash
  2. netstat -npl|grep -q nginx
  3. if [[ $? -ne ]]; then
  4. /usr/local/nginx/sbin/nginx
  5. if [[ $? -ne ]]; then
  6. service keepalived stop
  7. fi
  8. fi

备用服务器配置文件

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

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

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

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

  1. ip addr

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

ps:

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

  1. unicast_src_ip 10.205.22.185 #本机IP
  2. unicast_peer {
  3. 10.205.22.186 #备机IP
  4. }

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. fastjson的json字符串转List

     1.代码 gameListStr = "[{"gameId":"1","gameName":"哈哈"},{& ...

  2. 国内外著名B2C系统介绍兼比较【收藏版】

    一.国内知名B2C系统 1.Shopex国内最大的电子商务系统,有各种辅助工具,php开发,免费但不开源,网店模板众多,较适合有淘宝店的卖家.网址:www.shopex.cn 2.ECshop免费且开 ...

  3. 资源管理与调度系统-YARN的基本架构与原理

    资源管理与调度系统-YARN的基本架构与原理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 为了能够对集群中的资源进行统一管理和调度,Hadoop2.0引入了数据操作系统YARN. ...

  4. Java 中的四种引用

    1.强引用(Strong Reference)在 Java 中四种引用中是“最强”的,我们平时通过 new 关键字创建的对象都属于强引用,如下面的代码: Person person = new Per ...

  5. VueJs组件prop验证简单理解

    今天看了vuejs的组件,看到了prop组件,主要作用是在传入数据的时候对传入的值做判断,写了个小例子. <div id="app"> <my-child :nu ...

  6. Android基础Activity篇——Intent

    1.显式的Intent intent是用来各各活动之间切换的,还可以用来传递参数. 项目还是使用之前创建的ActivityTest项目,这里新建一个活动SecondActivity.java,并且勾选 ...

  7. Android开发基础

    一.Android开发环境搭建 1.下载安卓SDK 官方下载地址:http://developer.android.com/sdk/index.html 2.下载安装JDK 官方下载地址:JDK6 h ...

  8. MyEclipse内存溢出问题

    今天碰到的问题,先记录下来 Console报错: Java.lang.OutOfMemoryError: PermGen space 跟着步骤: 在这里加入:-Xms800m -Xmx800m -XX ...

  9. 《spring技术内幕》读书笔记(1)——什么是POJO模式

    今天在看<spring技术内幕>,第一章中多次提到了使用POJO来完成开发,就百度了一下,在此保留 1.     什么是POJO POJO的名称有多种,pure old java obje ...

  10. python生成url测试用例

    generate_url.py #!/usr/bin/env python import random import os, sys channels = [ \ "BTV2", ...