linux下初步实现Keepalived+Nginx高可用
一、Keepalived 是一种高性能的服务器高可用或热备解决方案,Keepalived 可以用来防止服务器单点故障的发生,通过配合Nginx可以实现web前端服务的高可用。
二、基于上篇搭建好Nginx+Tomcat环境信息
Linux下Nginx+Tomcat配置反向代理
1、两台Linux机器地址为:
主机名 ip地址 node1 192.168.182.130 node2 192.168.182.129
2、在node1安装Keepalived
#下载目录 cd /usr/local/src/ #下载 wget http://www.keepalived.org/software/keepalived-1.2.19.tar.gz #解压 sudo tar -zxvf keepalived-1.2.19.tar.gz #切换目录 cd keepalived-1.2.19/ #编译 ./configure --prefix=/usr/local/keepalived #安装 make && make install # 拷贝执行文件 cp /usr/local/keepalived/sbin/keepalived /usr/sbin/ # 将init.d文件拷贝到etc下,加入开机启动项 cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/keepalived # 将keepalived文件拷贝到etc下 cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/ # 创建keepalived文件夹 mkdir -p /etc/keepalived # 将keepalived配置文件拷贝到etc下 cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf # 添加可执行权限 chmod +x /etc/init.d/keepalived #添加系统服务 chkconfig --add keepalived #开机自启 chkconfig keepalived on
View Code
3、修改配置文件,需要根据个人机器信息配置
vim /etc/keepalived/keepalived.conf
! Configuration File for keepalivedglobal_defs {}vrrp_script chk_health {script "[[ `ps -ef | grep nginx | grep -v grep | wc -l` -ge 2 ]] && exit 0 || exit 1"interval 1 #每隔1秒执行上述的脚本,去检查用户的程序ngnixweight -2 }vrrp_instance VI_1 {state MASTER #指定A节点为主节点 备用节点上设置为BACKUP即可interface ens33 #绑定虚拟IP的网络接口virtual_router_id 51 ##VRRP组名,两个节点的设置必须一样,以指明各个节点属于同一VRRP组priority 100 #主节点的优先级(1-254之间),备用节点必须比主节点优先级低advert_int 1 #组播信息发送间隔,两个节点设置必须一样authentication { #设置验证信息,两个节点必须一致auth_type PASSauth_pass 1111}track_script { #心跳检测chk_health}virtual_ipaddress { #指定虚拟IP, 两个节点设置必须一样192.168.182.139/24}notify_master "/usr/local/nginx/sbin/nginx"notify_backup "/usr/local/nginx/sbin/nginx -s stop && /usr/local/nginx/sbin/nginx"notify_fault "/usr/local/nginx/sbin/nginx -s stop" }
View Code
4、在node2安装Keepalived ,和2-3一致,其node2上的keepalived.conf内容,只需要修改state,interface,priority,virtual_ipaddress这四个地方就可以了
! Configuration File for keepalivedglobal_defs {}vrrp_script chk_health {script "[[ `ps -ef | grep nginx | grep -v grep | wc -l` -ge 2 ]] && exit 0 || exit 1"interval 1 #每隔1秒执行上述的脚本,去检查用户的程序ngnixweight -2 }vrrp_instance VI_1 {state BACKUP #指定A节点为主节点 备用节点上设置为BACKUP即可interface ens33 #绑定虚拟IP的网络接口virtual_router_id 51 ##VRRP组名,两个节点的设置必须一样,以指明各个节点属于同一VRRP组priority 99 #主节点的优先级(1-254之间),备用节点必须比主节点优先级低advert_int 1 #组播信息发送间隔,两个节点设置必须一样authentication { #设置验证信息,两个节点必须一致auth_type PASSauth_pass 1111}track_script { #心跳检测chk_health}virtual_ipaddress { #指定虚拟IP, 两个节点设置必须一样192.168.182.139/24}notify_master "/usr/local/nginx/sbin/nginx"notify_backup "/usr/local/nginx/sbin/nginx -s stop && /usr/local/nginx/sbin/nginx"notify_fault "/usr/local/nginx/sbin/nginx -s stop" }
View Code
5、测试
a、启动和关闭keepalived
service keepalived start | stop
启动node1和node2的上nginx启动keepalived,在node1上查看ip信息(ip add),会发现多了一个虚拟ip(192.168.182.139),关闭node1上的keepalived或者nginx,会发现这个虚拟IP已经漂移到node2这个机器上了,访问nginx时,是使用虚拟ip访问的。
虚拟IP漂移并没有执行的notify_master等所在的脚本,查了很久,也没有成功,不知道有没有大神知道。
yexiangyang
moyyexy@gmail.com
转载于:https://www.cnblogs.com/moy25/p/8687210.html
linux下初步实现Keepalived+Nginx高可用相关推荐
- Linux下部署lvs+keepalived实现高可用负载均衡
lvs+keepalived是什么? keepalived工作原理 keepalived是集群管理中保证集群高可用的一个服务软件,其功能类似于heartbeat,用来防止单点故障. keepalive ...
- 搭建Keepalived+Nginx高可用负载均衡服务器
一.服务器搭建策略 单机模式: 只有一台应用服务器,组成一个单机模式 优点:简单方便(搭建.运营.维护) 缺点:不能出故障(停电.断网.系统崩溃.硬件老化.性能瓶颈) 应用场景:小型项目(几十个人) ...
- keepalived+nginx高可用
根据上面图片可以看出,两台机器均安装keepalived之后,如果124机器宕机了,那么117机器就会变成master,网页照样可以访问.下面正式介绍keepalived+nginx高可用安装使用方法 ...
- Linux下的5款主流高可用集群软件介绍
Linux集群主要分成三大类:高可用集群(High Availability Cluster).负载均衡集群(Load Balance Cluster).科学计算集群(High Performance ...
- 【收藏】Keepalived+Nginx高可用配置(偏nginx配置)
https://blog.csdn.net/hugolyl/article/details/78912243
- docker 部署nginx 使用keepalived 部署高可用
一.体系架构 在Keepalived + Nginx高可用负载均衡架构中,keepalived负责实现High-availability (HA) 功能控制前端机VIP(虚拟网络地址),当有设备发生故 ...
- 【7W字长文】使用LVS+Keepalived实现Nginx高可用,一文搞懂Nginx
往期文章一览 分布式会话与单点登录SSO系统CAS,包含完整示例代码实现 [15W字长文]主从复制高可用Redis集群,完整包含Redis所有知识点 使用LVS+Keepalived实现Nginx高可 ...
- keepalived高可用解决脑裂,nginx高可用配置详细篇
第一章 keepalived介绍 keepalived软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点状态,后来又加入了可以实现高可用的VRRP功能.此,keepal ...
- 搭建Nginx高可用集群(keepalived+双机热备)
一.Nginx高可用 首先了解一下什么是高可用,高可用是分布式系统架构中必须考虑的因素. 我们都知道,使用nginx的反向代理和负载均衡可以解决tomcat等web容器的单点故障以及高并发等问题. 反 ...
最新文章
- Calendar日历简单用法
- mongodb安装.
- 一只快乐的野指针_野酸枣
- 索引unusable|disable|enable
- java环境变量设置xp_java环境变量设置方法
- Maven精选系列--依赖范围、传递、排除
- Python批量拆分Excel文件中已合并的单元格
- win11如何取消开机自检 windows11取消开机自检的设置方法
- 2D 转换之 scale
- UI 自定义视图 ,视图管理器
- 拓端tecdat|R语言Lasso回归模型变量选择和糖尿病发展预测模型应用(含练习)
- Sharepoint lookup字段的关联列表查询
- 使用cache tier
- repo sync x509: certificate is valid for,外部过滤器失败,smudge过滤器lfs失败,cannot initialize work tree
- 美团2018校园招聘内推笔试代码分享
- (二)史玉柱:我的营销心得有感------主要关注网络游戏策划
- python 进化树_Python ete3有没有一种方法来扩展系统进化树的分支?
- TesterHome创始人思寒:如何从手工测试进阶自动化测试?十余年经验分享
- Flyme patchrom项目笔记
- 《统计学》笔记:第11章 一元线性回归
热门文章
- The Text Splitting (将字符串分成若干份,每份长度为p或q)
- C socket编程
- opencv-python 9.4 拆分及合并图像通道
- 用Tcl定制Vivado设计实现流程
- java web 心跳机制实现,基于javax的websocket服务端实现,含心跳机制
- STM32串口中断接收方式详细比较
- mpi4py多进程实例/举例
- 为什么我们要放弃win10 去使用deepinv20和ous呢
- pycharm用爱发电
- 史上最大的实体关系抽取数据集!清华大学自然语言处理团队发布 FewRel...