zoukankan      html  css  js  c++  java
  • 2Nginx+keepalive+2tomcat 故障转移

    根据真实生产环境 总结。

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

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


    2Nginx+keepalive+2tomcat 故障转移 - 朝鲜程序员 - 朝鲜程序员的博客
     


    重点:在于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
    不必做特殊设置
     
  • 相关阅读:
    微信开放平台(公众号第三方平台) -- 全网发布
    SQL 邮件配置篇
    让BI告诉你:圣诞老人去哪了?
    锁定和行版本控制
    数据库质疑修复总结(转)
    抢救损坏数据库中的数据
    将 PAGE_VERIFY 数据库选项设置为 CHECKSUM
    replicate复制函数
    @@IDENTITY与SCOPE_IDENTITY()
    RESTORE DATABASE的standby选项
  • 原文地址:https://www.cnblogs.com/centos2017/p/7896750.html
Copyright © 2011-2022 走看看