前端主从

来自技术开发小组内部wiki
跳转至: 导航搜索
基于keepalived+nginx实现的反向代理主从自动切换。

服务器说明

1 主服务器184
2 从服务器185
3 虚拟IP 183

配置说明

主服务器keepalived <source lang="php">

  vrrp_instance VI_1 {
   state MASTER   主服务器
   interface eth0
   virtual_router_id 51  
   priority 180    优先级高,则高
   advert_int 1
   authentication {
       auth_type PASS
       auth_pass 1111
   }
   virtual_ipaddress {
       59.151.119.183 dev eth0  虚拟IP
   }

}

virtual_server 59.151.119.183 80 { 虚拟IP

   delay_loop 6
   lb_kind DR
   persistence_timeout 50
   protocol TCP
   real_server 59.151.119.184 80 { 真实IP
       weight 1
       notify_down "/root/fmb_tech.sh" 停止服务执行动作
       TCP_CHECK {
           connect_timeout 3
           nb_get_retry 3
           delay_before_retry 3
           connect_port 80
       }
   }

} </source> 从服务器keepalived <source lang="php"> vrrp_instance VI_1 {

   state BACKUP  从服务器
   interface eth0
   virtual_router_id 51
   priority 80
   advert_int 1
   authentication {
       auth_type PASS
       auth_pass 1111
   }
   virtual_ipaddress {
       59.151.119.183 dev eth0
   }

}

virtual_server 59.151.119.183 80 {

   delay_loop 6
   lb_kind DR
   persistence_timeout 50
   protocol TCP
   real_server 59.151.119.185 80 {
       weight 1
       TCP_CHECK {
           connect_timeout 3
           nb_get_retry 3
           delay_before_retry 3
           connect_port 80
       }
   }

} </source>

故障说明

1 主服务器出现故障,可先重启nginx后重启keepalived
2 从服务器出现故障,也可先重启nginx后重启keepalived
3 /usr/local/nginx/sbin/nginx -s reload
4 /etc/init.d/keepalived restart