Nginx学习笔记12——Nginx高可用和keepalived

高可用场景及解决方案

单机nginx,负载均衡到应用服务器
Nginx学习笔记12——Nginx高可用和keepalived_第1张图片
如果只靠负载均衡完成nginx的高可用,这样就可以了吗?
Nginx学习笔记12——Nginx高可用和keepalived_第2张图片
不行,如果第一个nginx挂了,那么服务也就停止了,所以还得加,以此类推,陷入了死循环,所以通过负载循环实现高可用的方案是不行的
Nginx学习笔记12——Nginx高可用和keepalived_第3张图片
keepalived为当前提供服务的Nginx服务器生成一个虚拟ip地址,客户端是对虚拟ip发出请求的,keepalived会不断判断当前提供服务器的nginx服务器是否宕机,如果宕机则会通过选举机制来投票选出另一台nginx服务器提供服务,并将虚拟ip地址切换到将提供服务的nginx服务器上,从而实现nginx高可用。
Nginx学习笔记12——Nginx高可用和keepalived_第4张图片

安装配置keepalived

克隆一份虚拟机centos7-1backup,作为nginx备用服务器
centos7-1的ip地址是192.168.195.128(主机)
centos7-1backup的ip地址是192.168.195.133(从机)
Nginx学习笔记12——Nginx高可用和keepalived_第5张图片
编译安装keepalived(不推荐)
下载地址:https://www.keepalived.org/download.html#
使用./configure 编译安装
如遇报错提示,安装依赖yum install openssl-devel

configure: error:
!!! OpenSSL is not properly installed on your system. !!!
!!! Can not include OpenSSL headers files. !!!

yum安装keepalived(推荐)
yum install keepalived

在centos7-1和centos7-1backup上都安装keepalived
Nginx学习笔记12——Nginx高可用和keepalived_第6张图片
使用yum安装后配置文件在/etc/keepalived/keepalived.conf
Nginx学习笔记12——Nginx高可用和keepalived_第7张图片
修改contos7-1的keepalived配置文件,这台机器当作主机
Nginx学习笔记12——Nginx高可用和keepalived_第8张图片
启动主机的keepalived
Nginx学习笔记12——Nginx高可用和keepalived_第9张图片
查看主机网卡ip addr,发现多了一个ip地址,这个ip地址就是虚拟ip
Nginx学习笔记12——Nginx高可用和keepalived_第10张图片
修改contos7-1backup的keepalived配置文件,这台机器设为从机
Nginx学习笔记12——Nginx高可用和keepalived_第11张图片
主机和从机的配置文件比较
Nginx学习笔记12——Nginx高可用和keepalived_第12张图片
启动从机的keepalived
Nginx学习笔记12——Nginx高可用和keepalived_第13张图片
查看从机网卡ip addr,发现没有虚拟ip,这是因为当前虚拟ip在主机上,当主机宕机后,虚拟ip被keepalived转移到从机上
Nginx学习笔记12——Nginx高可用和keepalived_第14张图片
测试一下,在本地控制台去ping这个虚拟ip,发现可以ping通
Nginx学习笔记12——Nginx高可用和keepalived_第15张图片
这时将主机关机init 0
Nginx学习笔记12——Nginx高可用和keepalived_第16张图片
发现会请求超时一下,然后继续可以ping通Nginx学习笔记12——Nginx高可用和keepalived_第17张图片
查看从机的网卡ip addr,发现虚拟ip转移到了从机上
Nginx学习笔记12——Nginx高可用和keepalived_第18张图片
测试nginx代理tomcat服务器的可用性,当前虚拟ip在主机上
Nginx学习笔记12——Nginx高可用和keepalived_第19张图片
访问虚拟ip,可以正常访问
Nginx学习笔记12——Nginx高可用和keepalived_第20张图片
主机关机
Nginx学习笔记12——Nginx高可用和keepalived_第21张图片
还是可以正常访问
Nginx学习笔记12——Nginx高可用和keepalived_第22张图片
虚拟ip转移到了从机上
Nginx学习笔记12——Nginx高可用和keepalived_第23张图片

你可能感兴趣的:(Nginx学习笔记,nginx,学习,服务器)