根据真实生产环境 总结。

硬件:共计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
不必做特殊设置
 

最新文章

  1. ThinkPHP 关于namespace的事儿
  2. C#反射 获取程序集信息和通过类名创建类实例(转载)
  3. 最全js 放大镜效果
  4. Redis入门之增删改查等常用命令总结
  5. 数据结构——基于java的链表实现(真正理解链表这种数据结构)
  6. scrapy-logging
  7. 软件项目第一次Sprint总结
  8. Mysql InnoDB 数据更新导致锁表
  9. Unity---关于游戏小包的记录
  10. gridview 显示数据库中的超链接
  11. 流媒体技术学习笔记之(十四)FFmpeg进行笔记本摄像头+麦克风实现流媒体直播服务
  12. 【Bootloader】探究bootloader,分析u-boot源码
  13. 收集的PHP工具及类库
  14. poj 1743 后缀数组 最长不重叠子串
  15. 深度学习方法(八):自然语言处理中的Encoder-Decoder模型,基本Sequence to Sequence模型
  16. Q606 根据二叉树创建字符串
  17. return super(ParamValueInline,self).formfield_for_foreignkey(db_field,request,**kwargs)自己返回自己的父类
  18. Python——string
  19. Ubuntu 下nginx 的卸载 与重新装
  20. netstat命令简单使用

热门文章

  1. 三、JVM之方法区
  2. 【转】KAFKA分布式消息系统
  3. 盘它!!一步到位,Tensorflow 2的实战 !!LSTM下的股票预测(附详尽代码及数据集)
  4. Http协议 Content-Type
  5. ArcGIS10.2安装教程
  6. AVLTree(C++实现)没有统一旋转操作
  7. Servlet梳理
  8. php--->底层的运行机制与数据结构原理
  9. H5 + WebGL 展示的3D无人机
  10. learn more ,study less(一):整体性学习策略