使用Keepalived实现Nginx的双机主备高可用
2021/9/7 7:07:22
本文主要是介绍使用Keepalived实现Nginx的双机主备高可用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1、概述
前面我们聊过使用 Nginx 为 后端Tomcat 做负载均衡、高可用,但是这时Nginx又成了单点,如果Nginx不幸挂掉,整个网站便无法访问。
此时我们就会用到另一个软件 —— Keepalived。
Keepalived 是一个用 C 编写的路由软件,Keepalived 会生成一个虚拟IP,此虚拟IP与多台真实的服务器的IP绑定,当用户发来请求到虚拟IP时,请求先路由到主服务器,当主服务器宕机后,请求会路由到备用服务器,以达到高可用的目的。
理论上两台或多台Nginx服务器的硬件配置应该一致,这样路由改变时,性能不会有太大的差别。
下面我们用一个例子,来实际操作一下。
2、场景说明
在两台服务器上,安装Nginx,并启动。
在两台服务器上安装Keepalived,进行配置,为Nginx做负载均衡,实现双机主备高可用。
A服务器配置为主机,B服务器配置为备机。
虚拟IP:192.168.1.88
A服务器IP(主):192.168.1.144
B服务器IP(备):192.168.1.22
3、安装Keepalived
在两台服务器上都需要安装Keepalived。
1)下载Keepalived
可以到Keepalived官网(https://www.keepalived.org)下载
图片来源于官网
图片来源于官网
2)将Keepalived压缩包,拷贝到两台服务器的 /home 目录下
3)解压Keepalived压缩包
在Linux系统执行 # tar -zxvf keepalived-2.2.4.tar.gz 命令进行解压。
4)安装依赖包
# yum -y install libnl libnl-devel
# yum install -y openssl openssl-devel
5)进入解压后的Keepalived目录
6)执行配置命令
# ./configure --prefix=/usr/local/keepalived --sysconf=/etc
7)执行编译并安装命令
# make && make install
8)安装成功后,在 /etc/keepalived 目录下,会看到 keepalived.conf 文件。
4、配置 keepalived.conf 文件
进入 /etc/keepalived 目录下,修改 keepalived.conf 文件。
A服务器配置如下:
! Configuration File for keepalived global_defs { # 全局唯一的主机标识 router_id server_a } vrrp_instance VI_1 { # 标识是主节点还是备用节点,值为 MASTER 或 BACKUP state MASTER # 绑定的网卡 interface ens33 # 虚拟路由id,保证主备节点是一致的 virtual_router_id 51 # 权重 priority 100 # 同步检查时间,间隔默认1秒 advert_int 1 # 认证授权的密码,所有主备需要一样 authentication { auth_type PASS auth_pass 1111 } # 虚拟IP virtual_ipaddress { 192.168.1.88 } }
B服务器配置如下:
! Configuration File for keepalived global_defs { router_id server_b } vrrp_instance VI_1 { # 设置为备机 state BACKUP interface ens33 virtual_router_id 51 # 权重设置的要比主机低 priority 90 advert_int 1 authentication { auth_type PASS auth_pass 1111 } # 虚拟IP需要主备设置成一样 virtual_ipaddress { 192.168.1.88 } }
5、启动Keepalived
1)进入 /usr/local/keepalived/sbin 目录
2)输入命令 # ./keepalived 即可。
此时,查看网卡,会发现主机的IP地址多了 192.168.1.88
6、停止A服务器,看虚拟IP是否路由到B服务器
经试验可知,A服务器关闭后,虚拟IP便路由到了B服务器。
7、综述
好了,至此,Keepalived的双机主备机制已经实现了。后面我们还会介绍Keepalived双主热备的配置方式。
希望大家多多留言交流,共同进步。
这篇关于使用Keepalived实现Nginx的双机主备高可用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-13用Nginx防范DDoS攻击的那些事儿
- 2024-12-13用Terraform在AWS上搭建简单NGINX服务器指南
- 2024-10-29Nginx发布学习:从入门到实践的简单教程
- 2024-10-28Nginx发布:新手入门教程
- 2024-10-21nginx 怎么设置文件上传最大20M限制-icode9专业技术文章分享
- 2024-10-17关闭 nginx的命令是什么?-icode9专业技术文章分享
- 2024-09-17Nginx实用篇:实现负载均衡、限流与动静分离
- 2024-08-21宝塔nginx新增8022端口方法步骤-icode9专业技术文章分享
- 2024-08-21nginx配置,让ws升级为wss访问的方法步骤-icode9专业技术文章分享
- 2024-08-15nginx ws代理配置方法步骤-icode9专业技术文章分享