根据真实生产环境 总结。

硬件:共计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. Spring Boot2 系列教程 (十七) | 整合 WebSocket 实现聊天室

    微信公众号:一个优秀的废人.如有问题,请后台留言,反正我也不会听. 前言 昨天那篇介绍了 WebSocket 实现广播,也即服务器端有消息时,将消息发送给所有连接了当前 endpoint 的浏览器.但 ...

  2. scratch3.0二次开发scratch3.0基本介绍(第一章)

    为什么要自己开发而不使用官方版本? 这个问题要看我们的做少儿编程教育的需求是怎么样的. scratch本身提供了离线版本以及官网在线平台供我们使用,这足以满足我们对于编程教学模块的需求.但是对于一些教 ...

  3. Render函数详解

    一.虚拟dom DOM是文档对象模型(Document Object Model)的简写,在浏览器中通过js来操作DOM的操作性能很差,于是虚拟Dom应运而生.虚拟Dom就是在js中模拟DOM对象树来 ...

  4. idea 2019.3 最新版破解教程

    背景 最近,idea又被整治了,所以一大批激活码都失效了.我之前已经有2018版的永久激活了,所以非常淡定~,也没打算升级版本.但是,最近发现周围的人都在讨论这个问题.于是,我也找到了2019.3最新 ...

  5. javaWeb传收参数方式总结

    有时候,我真会被传参搞得头晕,这样传要怎么接收,那样传又要怎么接收? get可以json吗?什么是json方式提交?等等问题,已困扰我许久 所以,在此想做个总结,整理一下思绪,不再为传收参烦恼!如有错 ...

  6. 玩转Django2.0---Django笔记建站基础十三(第三方功能应用)

    第13章 第三方功能应用 在前面的章节中,我们主要讲述Django框架的内置功能以及使用方法,而本章主要讲述Django的第三方功能应用以及使用方法.通过本章的学习,读者能够在网站开发过程中快速开发网 ...

  7. 在动作方法中生成输出URL (Generating Outgoing URLs in Action Methods) |

  8. basic-pentesting-1 靶机提权

    原文地址:https://www.payload.com.cn/   basic-pentesting-1 下载地址: https://www.vulnhub.com/entry/basic-pent ...

  9. Linux开发环境准备(一)

    工欲善其事,必先利其器 今天是腊月廿九,明天春节.我想着在今天对2019年所学到的东西做下总结. 从操作系统的安全性,系统代码是否开源,对开发人员的友好性,以及学习和工作的需求,我最终选择了Linux ...

  10. Dubbo如何支持本地调用?injvm方式解析

    Dubbo是一个远程调用的框架,对于一个服务提供者,暴露了一个接口供外部消费者调用,那么对于提供者自己是否可以调用这个接口,需要什么特殊处理吗? 这篇文章就分享下Dubbo关于本地调用的实现机制,以及 ...