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
不必做特殊设置
 

 

posted @ 2017-10-10 21:56  乌托邦眺望  阅读(275)  评论(0)    收藏  举报