高可用场景及解决方案 【Nginx学习笔记|Nginx学习笔记12——Nginx高可用和keepalived】单机nginx,负载均衡到应用服务器
文章图片
如果只靠负载均衡完成nginx的高可用,这样就可以了吗?
文章图片
不行,如果第一个nginx挂了,那么服务也就停止了,所以还得加,以此类推,陷入了死循环,所以通过负载循环实现高可用的方案是不行的
文章图片
keepalived为当前提供服务的Nginx服务器生成一个虚拟ip地址,客户端是对虚拟ip发出请求的,keepalived会不断判断当前提供服务器的nginx服务器是否宕机,如果宕机则会通过选举机制来投票选出另一台nginx服务器提供服务,并将虚拟ip地址切换到将提供服务的nginx服务器上,从而实现nginx高可用。
文章图片
安装配置keepalived 克隆一份虚拟机centos7-1backup,作为nginx备用服务器
centos7-1的ip地址是192.168.195.128(主机)
centos7-1backup的ip地址是192.168.195.133(从机)
文章图片
编译安装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
文章图片
使用yum安装后配置文件在
/etc/keepalived/keepalived.conf
文章图片
修改contos7-1的keepalived配置文件,这台机器当作主机
文章图片
启动主机的keepalived
文章图片
查看主机网卡
ip addr
,发现多了一个ip地址,这个ip地址就是虚拟ip文章图片
修改contos7-1backup的keepalived配置文件,这台机器设为从机
文章图片
主机和从机的配置文件比较
文章图片
启动从机的keepalived
文章图片
查看从机网卡
ip addr
,发现没有虚拟ip,这是因为当前虚拟ip在主机上,当主机宕机后,虚拟ip被keepalived转移到从机上文章图片
测试一下,在本地控制台去ping这个虚拟ip,发现可以ping通
文章图片
这时将主机关机init 0
文章图片
发现会请求超时一下,然后继续可以ping通
文章图片
查看从机的网卡
ip addr
,发现虚拟ip转移到了从机上文章图片
测试nginx代理tomcat服务器的可用性,当前虚拟ip在主机上
文章图片
访问虚拟ip,可以正常访问
文章图片
主机关机
文章图片
还是可以正常访问
文章图片
虚拟ip转移到了从机上
文章图片
推荐阅读
- linux|AppArmor快速入门
- 我的|RPMBUILD 打包
- 笔记|Javaweb详解一
- java|jsp标签
- SQL|这道 Mysql 的解题思想,值得学习!
- 直播出海 | 国内直播间再出爆品,「外卷」全球如何致胜
- big|入行大数据学习路线分享 学习不迷路
- linux|Nginx 禁止国外 IP 访问网站
- 使用IDEA学习JSP代码第008课