根据真实生产环境 总结。

硬件:共计2台Linux服务器  76和77  每台服务器都安装 Nginx  Keepalive  Tomcat
80作为虚拟ip,负责对外连接。   78和79是两台mysql数据库,读写分离。

效果:如果一台服务器产生故障,另一台马上接替服务

重点:在于keepalive心跳的配置

安装过程此处省略……

 
 
安装完成后首先配置 Keepalive
 
1.Keepalive  
两台服务器端keepalived.conf内容都为如下,都设置为backup,不抢占

(76)主机

! Configuration File for keepalived
 
global_defs {
   notification_email {
     xxxx@139.com           切换等操作时  email通知邮件地址
   }
   notification_email_from root@localhost
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id HTTP_HA
}
 
 
vrrp_sync_group VG_1 {                    同步组设置
  group {
    VI_1
  }
  #notify_master /home/notify_master.sh
  #notify_backup /home/notify_backup.sh
  #notify_fault  /home/notify_fault.sh
}
 
vrrp_instance VI_1 {          实例设置
    preempt_delay 300       抢占延迟
    state BACKUP              实例初始状态(确定主备)
    #smtp_alert
    interface eth0                 实例节点固有IP(非VIP)的网卡,用来发VRRP包
    virtual_router_id 51        设置VRID这里非常重要  相同的VRID为一个组他将决定多播的MAC地址
    advert_int 1                     检查间隔默认为1秒
    authentication {
        auth_type PASS           认证方式可以是PASS或AH两种认证方式
        auth_pass 1111            认证密码
    }
 
    nopreempt     # backup server comment it   (从机 注释此参数)
    priority 150  # backup server change to 100      用来选举master的数字越大,优先级越高
    virtual_ipaddress {                                                   设置虚拟IP
         10.0.0.80/24 dev eth0
    }
}
 
 
(77)从机

! Configuration File for keepalived
 
global_defs {
   notification_email {
     xxxx@139.com           切换等操作时  email通知邮件地址
   }
   notification_email_from root@localhost
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id HTTP_HA
}
 
 
vrrp_sync_group VG_1 {                    同步组设置
  group {
    VI_1
  }
  #notify_master /home/live800/working/keepalived/notify_master.sh
  #notify_backup /home/live800/working/keepalived/notify_backup.sh
  #notify_fault  /home/live800/working/keepalived/notify_fault.sh
}
 
vrrp_instance VI_1 {          实例设置
    preempt_delay 300       抢占延迟
    state BACKUP              实例初始状态(确定主备)
    #smtp_alert
    interface eth0                 实例节点固有IP(非VIP)的网卡,用来发VRRP包
    virtual_router_id 51        设置VRID这里非常重要  相同的VRID为一个组他将决定多播的MAC地址
    advert_int 1                     检查间隔默认为1秒
    authentication {
        auth_type PASS           认证方式可以是PASS或AH两种认证方式
        auth_pass 1111            认证密码
    }
 
    #nopreempt     # backup server comment it      (从机 注释此参数)
    priority 100  # backup server change to 100      用来选举master的数字越大,优先级越高
    virtual_ipaddress {                                                 设置虚拟IP 可以设置多个
         10.0.0.80/24 dev eth0
    }
}
 
 
 
 
2.Nginx
这里只列出主要几行配置
 
(10.0.0.76)(10.0.0.77)
     upstream TomcatServer {

server 127.0.0.1:8080 max_fails=0 fail_timeout=10s;
        }
server {server_name  localhost;
listen 80;
include proxy.conf;
location / {
proxy_pass http://TomcatServer;
}
location /ns {include stub_status.conf;}
}
}

 
 
 
3.Tomcat
不必做特殊设置
 

2Nginx+keepalive+2tomcat 故障转移的更多相关文章

  1. keepalive配置mysql自动故障转移

    keepalive配置mysql自动故障转移 原创 2016年02月29日 02:16:52 2640 本文先配置了一个双master环境,互为主从,然后通过Keepalive配置了一个虚拟IP,客户 ...

  2. 高并发应用场景下的负载均衡与故障转移实践,AgileEAS.NET SOA 负载均衡介绍与实践

    一.前言 AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市 ...

  3. 基于MGR+Atlas的读写分离尝试,以及MGR+Keepalived+Atlas自动故障转移+读写分离设想

    目的是尝试altas的读写分离,现有一套搭建好做测试的MGR(单主),于是就腿搓绳,在MGR基础上搭建altas. 复制环境准备 读写分离理论上讲,跟复制模式没有关系,atlas负责的是重定向读写,至 ...

  4. MySQL高可用方案--MHA部署及故障转移

    架构设计及必要配置 主机环境 IP                 主机名             担任角色 192.168.192.128  node_master    MySQL-Master| ...

  5. mongodb集群故障转移实践

    简介 NOSQL有这些优势: 大数据量,可以通过廉价服务器存储大量的数据,轻松摆脱传统mysql单表存储量级限制. 高扩展性,Nosql去掉了关系数据库的关系型特性,很容易横向扩展,摆脱了以往老是纵向 ...

  6. 从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)

    从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www ...

  7. (转)从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)

    原文地址:  http://www.cnblogs.com/lyhabc/p/4682028.html 这一篇是从0开始搭建SQL Server AlwaysOn 的第二篇,主要讲述如何搭建故障转移集 ...

  8. 非域环境下搭建自动故障转移镜像无法将 ALTER DATABASE 命令发送到远程服务器实例的解决办法

    非域环境下搭建自动故障转移镜像无法将 ALTER DATABASE 命令发送到远程服务器实例的解决办法 环境:非域环境 因为是自动故障转移,需要加入见证,事务安全模式是,强安全FULL模式 做到最后一 ...

  9. SQL Server 2012故障转移的looksalive check和is alive check

    什么是looksalive check和is alive check SQL Server故障转移集群是建立在windows集群服务上的一种热备的高可用方案.在集群运行过程中,windows集群服务定 ...

随机推荐

  1. P1850 换教室 期望dp

    P1850 换教室 题目描述 对于刚上大学的牛牛来说,他面临的第一个问题是如何根据实际情况申请合适的课程. 在可以选择的课程中,有 2n2n 节课程安排在 nn 个时间段上.在第 ii(1 \leq ...

  2. Unity_Dungeonize 随机生成迷宫

    本文对随机生成迷宫的实现思路进行记录,其作用在于为游戏过程提供随机性以及节省开发周期,下面是Dungeonize的结构 随机迷宫的生成主要包括几个阶段 1.生成房间体结构,为墙体,自定义房间,自定义物 ...

  3. MySql笔记(二)

    目录 MySQL笔记(二) 一幅画,一次瞬间的回眸,就在那次画展上,那个眼神,温柔的流转,还是那干净的皮鞋,一尘不染,俊朗的眉宇性感的唇,悄悄走近,牵手一段浪漫 MySQL笔记(二) 13.条件查询 ...

  4. SQLiteOpenHelperde的oncreate方法

    main中

  5. Jenkins Job构建

    Jenkins job介绍 ​ Jenkins Freestyle与Pipeline Job区别 ​ ​ Jenkins Job构建配置 一 .环境准备 1.配置Jenkins server本地Git ...

  6. 如何修改netbeans的系统字体?

    1. 打开/etc/netbeans.config 2. 找到netbeans_default_options 3. 追加 --fontsize 12

  7. C++模板编程与宏编程经验谈

    C++模板编程与宏编程经验谈 有人说C 与C++的不同主要是因为C++支持模板,不要说区别是面向对象化编程,因为C同样能很好的实现对象化编程,面向对象化其实只是思想,在很多语言中都能实现,区别在于实现 ...

  8. BigInteger的权限设计

    通过储存菜单权限的一个字段(id自定义也是可以的) 1 将选中菜单树的id转换成字符数组的形式, 进行BigInteger对权限进行2的权的和计算 public static BigInteger s ...

  9. 手把手写一个基于Spring Boot框架下的参数校验组件(JSR-303)

    前言 之前参与的新开放平台研发的过程中,由于不同的接口需要对不同的入参进行校验,这就涉及到通用参数的校验封装,如果不进行封装,那么写出来的校验代码将会风格不统一.校验工具类不一致.维护风险高等其它因素 ...

  10. 2019杭电多校赛第九场 Rikka with Mista

    Problem Description Rikka is a fervent fan of JoJo's Bizarre Adventure. As the last episode of Golde ...