nginx keepalived vip 高可用


生产环境中,可以一个域名绑定多个ip轮询访问,比keepalived好用多了,后端的话有eureka之类的,所以在生产环境中根本用不到。
因此,这个就是自己玩的,但是keepalived解决问题的思路我很欣赏。

keepalived
keepalived只支持两台机器主备。
vip就是keepalived的虚拟ip,抽象的看,可以理解是虚拟网关
主备之间互相进行心跳检测,默认设置主机挂vip,主机死了,备机可以检测到,备机就挂vip。
同时,在机器上让keepalived对nginx进程进行心跳检测,死了就拉起来,拉不起来就把自己干死。vip就自动挂到备机上了。高可用嘛,死了接着用。

下面用docker玩一下

docker pull osixia/keepalived
docker run -d --rm -v /keepalived/conf/keepalived.conf:/container/service/keepalived/assets/keepalived.conf --name keepalived osixia/keepalived
vi /container/service/keepalived/assets/keepalived.conf
global_defs {
  default_interface eth0
}

vrrp_script chk_http_port {
	script  "xxx.sh"  # 执行脚本,在这里检测nginx死没死,死了拉起来,拉不起来就干死自己
	interval 2           # 心跳
	weight 2
}

vrrp_instance VI_1 {
 state MASTER          #  主 MASTER 备 BACKUP
  interface eth0
  virtual_router_id 51  # 主备机一致
  priority 150               # 值大的挂vip
  advert_int 1

  virtual_ipaddress {
    192.168.52.200
  }

  authentication {
    auth_type PASS
    auth_pass d0cker
  }

  notify "/container/service/keepalived/assets/notify.sh"
}

在设置一个备机就ojbk了


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM