Nginx+keepalived高可用(双主模式)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx+keepalived高可用(双主模式)相关的知识,希望对你有一定的参考价值。

负载均衡技术对于一个网站尤其是大型网站的web服务器集群来说是至关重要的!做好负载均衡架构,可以实现故障转移和高可用环境,避免单点故障,保证网站健康持续运行。
由于业务扩展,网站的访问量不断加大,负载越来越高。现需要在web前端放置nginx负载均衡,同时结合keepalived对前端nginx实现HA高可用。
介绍下Nginx和keepalive
1.Nginx

Nginx 是一个很强大的高性能Web和反向代理服务器,它具有很多非常优越的特性:
Nginx作为负载均衡服务器:Nginx 既可以在内部直接支持 Rails 和 php 程序对外进行服务,也可以支持作为 HTTP代理服务器对外进行服务。Nginx采用C进行编写,不论是系统资源开销还是CPU使用效率都比 Perlbal 要好很多。
2.keepalive

Keepalived是Linux下面实现VRRP备份路由的高可靠性运行件。基于Keepalived设计的服务模式能够真正做到主服务器和备份服务器故障时IP瞬间无缝交接。二者结合,可以构架出比较稳定的软件LB方案。
Nginx+keepalive高可用方式有两种:
1.Nginx+keepalived 主从配置

这种方案,使用一个vip地址,前端使用2台机器,一台做主,一台做备,但同时只有一台机器工作,另一台备份机器在主机器不出现故障的时候,永远处于浪费状态,对于服务器不多的网站,该方案不经济实惠。
2.Nginx+keepalived 双主配置

这种方案,使用两个vip地址,前端使用2台机器,互为主备,同时有两台机器工作,当其中一台机器出现故障,两台机器的请求转移到一台机器负担,非常适合于当前架构环境。所以在这里就详细介绍下双主模型配置

一、拓扑结构

技术分享图片

二、测试环境介绍

系统centos7.4 64位
centos6.9 64位
前端node1服务器:DIP:192.168.92.136
VIP1:192.168.92.23
VIP2:192.168.92.24
前端node2服务器:DIP:192.168.92.133
VIP1:192.168.92.24
VIP2:192.168.92.23
后端服务器:web node3:192.168.92.123
web node4:192.168.92.124
web node5:192.168.92.125

三、软件安装

Nginx和keepalive的安装非常简单,我们可以直接使用yun来安装。
yum install keepalived nginx -y
后端服务器我们同样用yum来装上Nginx
后端node3

[[email protected] ~]# yum -y install nginx
[[email protected] ~]# echo "this is 192.168.92.123" > /usr/share/nginx/html/index.html 
[[email protected] ~]# service nginx start
[[email protected] ~]# curl 192.168.92.123
this is 192.168.92.123

后端node4

[[email protected] ~]# yum -y install nginx
[[email protected] ~]# echo "this is 192.168.92.124" > /usr/share/nginx/html/index.html 
[[email protected] ~]# service nginx start
[[email protected] ~]# curl 192.168.92.124
this is 192.168.92.124

后端node5

[[email protected] ~]# yum -y install nginx
[[email protected] ~]# echo "this is 192.168.92.125" > /usr/share/nginx/html/index.html 
[[email protected] ~]# service nginx start
[[email protected] ~]# curl 192.168.92.125
this is 192.168.92.125

四、在node1、node2上配置Nginx

以上是关于Nginx+keepalived高可用(双主模式)的主要内容,如果未能解决你的问题,请参考以下文章

Nginx+keepalived高可用(双主模式)

nginx+keepalived高可用及双主模式

nginx+keepalived高可用及双主模式

Centos7+nginx+keepalived高可用及双主模式

Linux搭建nginx+keepalived 高可用(主备+双主模式)

ansible实现nginx双主模式反代,keepalived高可用,memcached缓存