在生产环境上很多时候是以 Nginx 做反向代理对外提供服务,但是一天Nginx难免遇见故障,如:服务器宕机。当 Nginx 宕机那么 所有对外提供的接口都将导致无法访问。虽然我们无法保证服务器百分之百可用,但是也得想办法避免这种悲剧,今天我们使用 keepalived 来实现 Nginx 的高可用。
这种方案是国内企业中最为普遍的一种高可用方案,双机热备其实 就是指一台服务器在提供服务,另一台为某服务的备用状态,当一 台服务器不可用另外一台就会顶替上去。 本文我们通过keepalived来实现双机热备。keepalived是基于VRRP协议实现的保证集群高可用的一个服务软 件,主要功能是实现真机的故障隔离和负载均衡器间的失败切换, 防止单点故障。
准备两台Nginx主机,主Nginx的ip为192.168.66.100,备Nginx的服务器ip为192.168.66.101.还有一个Lvs虚拟VIP(这个不需要特别准备,在配置文件写上就可,但主备Nginx服务器需要特别准备),Lvs虚拟Vip为192.168.66.99.
在两台虚拟机上分别执行以下命令,安装keepalived
1 |
|
现在对主Nginx进行操作,修改keepalived.conf文件,直接把文件中原有的内容删除,粘贴并修改以下内容。其中主备Nginx的virtual_router_id必须一样,可以直接用代码里的,不用修改,mcast_src_ip必须为Nginx宿主机的ip地址(如主Nginx的为192.168.66.100),virtual_ipaddress为Lvs虚拟Vip192.168.66.99
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
|
现在对从Nginx进行操作,修改keepalived.conf文件,直接把文件中原有的内容删除,粘贴并修改以下内容。其中主备Nginx的virtual_router_id必须一样,可以直接用代码里的,不用修改,mcast_src_ip必须为Nginx宿主机的ip地址(如主Nginx的为192.168.66.101),virtual_ipaddress为Lvs虚拟Vip192.168.66.99
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
|
Nginx+keepalived实现高可用
写入nginx_check.sh脚本 /etc/keepalived/nginx_check.sh.输入命令
1 |
|
1 2 3 4 5 6 7 8 9 |
|
1 2 |
|
如果在启动keepalived的时候报错:
当你在浏览器输入192.168.66.99的时候,打开的是nginx的页面或者服务,就说明双机热备就成功了
到此这篇关于Nginx结合keepalived实现双机热备方案的文章就介绍到这了,更多相关Nginx keepalived双机热备内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
上一篇: 已经是第一篇了
下一篇: 云原生和微服务区别于联系
想要了解更多资讯
请关注拓驰
想要了解更多资讯
请关注拓驰云