Linux keepalived+nginx实现主从模式
双机高可用方法目前分为两种:
主从模式:一台主服务器和一台从服务器,当配置了虚拟vip的主服务器发送故障时,从服务器将自动接管虚拟ip,服务将不会中断。但主服务器不出现故障的时候,从服务器永远处于浪费状态,对于服务器不多的网站,该方案不经济实惠。
主主模式:开启两个虚拟服务,一台服务器这个虚拟组A中设置为主节点,另一台服务器在虚拟组B中设置为主节点,这样就有两个虚拟IP,两个机器都是主节点,也都是从节点,当一台机器故障了,非故障机器就会拥有两个虚拟ip,也会负担所有的请求。
主从环境
VIP:172.30.100.8
keepalived+nginx1(主):172.30.100.126
keepalived+nginx1(备):172.30.100.127
服务检测策略
对于nginx服务状态检测的方式是脚本检测,当nginx进程为0时,会尝试着启动nginx服务;如果启动失败,则停止keepalived服务,这样虚拟VIP会漂移到从节点。
脚本中sleep的时间一定要小于keepalived的配置文件中脚本执行间隔时间。
#!/bin/bash
NGX_STATUS=`ps -C nginx –no-header |wc -l`
if [ $NGX_STATUS -eq 0 ];then
/app/nginx/sbin/nginx
sleep 1
if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
systemctl stop keepalived
fi
fi
主节点配置
! Configuration File for keepalived # 全局配置
global_defs {
notification_email {
root@localhost.localdomain
}
notification_email_from root@localhost.localdomain
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS1
vrrp_skip_check_adv_addr
#vrrp_strict
vrrp_garp_interval 0
vrrp_gna_interval 0
vrrp_mcast_group4 224.18.18.18
} # 检测脚本配置参数
vrrp_script chk_ngx {
script "/etc/keepalived/nginx_check.sh"
interval 2
weight -20
} # 设置虚拟服务
vrrp_instance VI1 {
state MASTER
interface eth0
virtual_router_id 111
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
track_script {
chk_ngx
}
virtual_ipaddress {
172.30.100.8
}
}
从节点配置
! Configuration File for keepalived
global_defs {
notification_email {
root@localhost.localdomain
}
notification_email_from root@localhost.localdomain
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS2
vrrp_skip_check_adv_addr
#vrrp_strict
vrrp_garp_interval 0
vrrp_gna_interval 0
vrrp_mcast_group4 224.18.18.18
}
vrrp_script chk_ngx {
script "/etc/keepalived/nginx_check.sh"
interval 2
weight -20
}
vrrp_instance VI1 {
state SLAVE
interface eth0
virtual_router_id 111
priority 70
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
track_script {
chk_ngx
}
virtual_ipaddress {
172.30.100.8
}
}
Linux keepalived+nginx实现主从模式的更多相关文章
- Keepalived+nginx+redis主从+tomcat一机多实例实现会话共享
Keepalived+nginx+redis主从+tomcat一机多实例实现会话共享 2014-09-09 14:14:25 标签:会话共享 主从 原创作品,允许转载,转载时请务必以超链接形式标明文章 ...
- LVS + Keepalived + Nginx基于DR模式构建高可用方案
在大型网站中一般服务端会做集群,同时利用负载均衡器做负载均衡.这样有利于将大量的请求分散到各个服务器上,提升网站的响应速度.当然为了解决单点故障的问题,还会做热备份方案.这里演示利用LVS做负载均衡器 ...
- Keepalived+Nginx搭建主从高可用并带nginx检测
应用环境:部分时候,WEB访问量一般,或者测试使用,利用Keepalived给Nginx做高可用即可满足要求. 测试环境: 搭建步骤: 1. 安装软件 在Nginx-A和Nginx-B上: ~]# ...
- Nginx知多少系列之(十四)Linux下.NET Core项目Nginx+Keepalived高可用(主从模式)
目录 1.前言 2.安装 3.配置文件详解 4.工作原理 5.Linux下托管.NET Core项目 6.Linux下.NET Core项目负载均衡 7.负载均衡策略 8.加权轮询(round rob ...
- keepalived+nginx安装
安装keepalived+nginx做为公司服务器前端高可用反向代理安装nginx 1.yum install -y pcre pcre-devel gcc-c++ zlib zlib-devel o ...
- Nginx+keepalived双机热备(主从模式)
负载均衡技术对于一个网站尤其是大型网站的web服务器集群来说是至关重要的!做好负载均衡架构,可以实现故障转移和高可用环境,避免单点故障,保证网站健康持续运行.关于负载均衡介绍,可以参考:linux负载 ...
- nginx + keepalived 主从模式
转自:https://www.cnblogs.com/kevingrace/p/6138185.html 负载均衡技术对于一个网站尤其是大型网站的web服务器集群来说是至关重要的!做好负载均衡架构,可 ...
- Nginx+keepalived 双机热备(主从模式)
负载均衡技术对于一个网站尤其是大型网站的web服务器集群来说是至关重要的!做好负载均衡架构,可以实现故障转移和高可用环境,避免单点故障,保证网站健康持续运行.关于负载均衡介绍,可以参考:linux负载 ...
- Nginx+keepalived双机热备(主从模式)
简单介绍: Keepalived是Linux下面实现VRRP备份路由的高可靠性运行软件,能够真正做到 主服务器和备份服务器故障时IP瞬间无缝交接; Keepalived的目的是模拟路由器的高可用; H ...
随机推荐
- base64字符串转文件,以及ngImgCrop裁剪图片并上传保存到服务器示例
base64字符串是包含文件格式的文件字符串,例如:data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAgAElE ...
- 【Redis】LRU算法和Redis的LRU实现
LRU原理 在一般标准的操作系统教材里,会用下面的方式来演示 LRU 原理,假设内存只能容纳3个页大小,按照 7 0 1 2 0 3 0 4 的次序访问页.假设内存按照栈的方式来描述访问时间,在上面的 ...
- Yii2设计模式——设计模式简介
我们首先来思考一个问题:作为工程师,我们的价值是什么? 笔者认为是--解决用户问题. 我们的任何知识和技能,如果不能解决特定的问题,那么就是无用的屠龙之术:我们的任何经验,如果不能对解决新的问题有用, ...
- 基于Html5 Plus + Vue + Mui 移动App开发(三)-文件操作(读取、保存、更新数据)
随着手机的发展,现在越来越多的人选择在手机上看书.无论是专业书籍.文学.英语还是网络小说,在手机上看新闻成了人们处理零碎时间的办法.在智能手机里安装一个资讯APP,可以随时.随地查看自己想看的资讯 ...
- 自学MongoDB(1)
MongoDB是nosql(非关系型数据库)中的一种,面向文档的数据库,介于传统的结构化数据库(关系型数据库)与非关系型数据库(文件储存)之间的一种,具有数据结构非常松散和非常灵活的特点;常用于存储分 ...
- django apscheduler在特定时间执行一次任务(run at a specify time only once)
如何使程序在特定时间只执行一次,我查了一下. celery可以,时间以秒计. task = mytask.apply_async(args=[10, 20], countdown=60) 不过,我 ...
- VS2017的MVC和Angular联合开发的配置文件作用
在通过MVC和Angular联合开发项目时,项目里有几个重要的配置文件,下面列出这几个配置文件的分析和比较: 主要配置文件有appsettings.json,tsconfig.json,package ...
- Oracle 安装步骤、安装中错误处理、完整卸载
/*************************************************以下ORACLE服务端安装************************************* ...
- windows下为qt msvc版本配置调试器
原文:https://blog.csdn.net/whatnamecaniuse/article/details/80716616 根据开发机的环境,下载 我的机器是win10,因此下载win 10 ...
- Linux云计算工程师
一.Linux运维基础 二.Linux运维高级-核心知识提高 三.50台集群实战 四.200-1000台集群实战 五.shell编程企业级实战 六.数据库MySQL和NoSQL 七.LVM虚拟化和机房 ...