壹 ---- 今天的这篇文章发布于 2014年06月,是介绍如何实现 Nginx HA(高可用),主角是 keepalived,这个软件很好用是大名鼎鼎LVS(Linux虚拟服务器)的黄金搭档,为LVS...提供高可用支持,当然这么好用的 keepalived不仅支持LVS,也非常适合 Haproxy、Nginx、甚至MySql等需要高可用的应用场景。...这里出于篇幅考虑,没有对keepalived 进行详细说明,而是注重是否实现了nginx HA这个功能,后续写负载均衡系&高可用列专题会详细说明。...#Nginx-Backup [l9h4gybz94.jpeg] #Nginx-Master [mqsw2vpkjm.jpeg] 场景2:Nginx Crash导致的切换 模拟 master nginx...#Nginx-Master [7bybmzk59h.jpeg] #Nginx-Backup [wjv323d0vn.jpeg] 模拟 master nginx recover,重新获取VIP #Nginx-Master
如果在谷歌中搜索 「Nginx 高可用」,搜索出来的大多都是 Nginx + keepalived 的使用。 所以,本文就介绍下怎样用 Nginx 和 keepalived 来实现应用的高可用。.../config/nginx/conf.d:/etc/nginx/conf.d:ro - ....nginx1:构建 web 服务,展示一个静态页面,显示服务器 IP ,能达到验证效果即可; nginx-proxy1:反向代理负载到两台服务器的 web 服务。...# 权重,2个节点权重一致,降低权重后会发生切换 advert_int 1 # 检测间隔 # 抢占模式,(nopreempt非抢占模式),配置为抢占模式时,当节点权重降低时,另外一个高权重节点会抢占服务...12、check_nginx 设置的心跳检测脚本路径为:/etc/keepalived/check-nginx.sh ,在 /etc/keepalived 目录下创建 check-nginx.sh 文件
1、配置高可用的集群 1.1、什么是高可用 高可用HA(High Availability)是分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计减少系统不能提供服务的时间。...很多公司的高可用目标是4个9,也就是99.99%,这就意味着,系统的年停机时间为8.76个小时。...百度的搜索首页,是业内公认高可用保障非常出色的系统,甚至人们会通过http://www.baidu.com 能不能访问来判断“网络的连通性”,百度高可用的服务让人留下啦“网络通畅,百度就能访问”,“百度打不开...1.2、通过keepalived实现高可用 Nginx 负载均衡实现高可用,需要借助Keepalived地址漂移功能。...1.需要两台nginx服务器 2.需要keepalived软件 3.需要虚拟ip地址 2、配置高可用的集群实例 2.1、准备工作 需要两台服务器。 在两台服务器安装nginx。
keepalived直译就是保持存活,在网络里面就是保持在线了,也就是所谓的高可用或热备,用来防止单点故障(单点故障是指一旦某一点出现故障就会导致整个系统架构的不可用)的发生,keepalived实现的基础是.../bin/bash # nginx+keepalived 高可用一键脚本for ubuntu 16.04 if [ $# -ne 4 ]; then echo "USAGE: $0 [MASTER|BACKUP...的时候必须是在已有的网卡上添加的 virtual_router_id 51 #这里设置VRID,这里非常重要,相同的VRID为一个组,他将决定多播的MAC地址 priority $2 #设置本节点的优先级,优先级高的为...#lvs_sync_daemon_interface:lvs syncd绑定的网卡 #nopreempt:设置不抢占,这里只能设置在state为backup的节点上,而且这个节点的优先级必须别另外的高。.../bin/bash # description: # 定时查看nginx是否存在,如果不存在则启动nginx # 如果启动失败,则停止keepalived status=$(ps -C nginx --
虽然我们无法保证服务器百分之百可用,但是也得想办法避免这种悲剧,今天我们使用keepalived来实现Nginx的高可用。 什么是高可用?...高可用HA(High Availability)是分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计减少系统不能提供服务的时间。...双机热备方案 这种方案是国内企业中最为普遍的一种高可用方案,双机热备其实就是指一台服务器在提供服务,另一台为某服务的备用状态,当一台服务器不可用另外一台就会顶替上去。...Keepalived软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP (Virtual Router Redundancy...因此,Keepalived除了能够管理LVS软件外,还可以作为其他服务(例如:Nginx、Haproxy、MySQL等)的高可用解决方案软件 故障转移机制 Keepalived高可用服务之间的故障切换转移
案例需求 部署基于nginx分发器的高可用web集群 分发器故障自动切换 数据服务器自动容错 任何机器宕机不中断web业务 实验拓扑 实验环境 角色 IP client 192.168.0.10 master...集群 master&backup安装nginx和keepalived 修改nginx配置文件 [root@master ~]# vim /usr/local/nginx/conf/nginx.conf...];then /usr/local/nginx/sbin/nginx sleep 1 nginxpid=`ps -C nginx --no-header...脚本功能说明:统计nginx进程数量,如果进程数量的值等于0,说明nginx挂了,那么执行/usr/local/nginx/sbin/nginx去启动分发器,等待1秒后再次检查进程数量,如果进程数量的值还是等于...集群高可用性测试 集群测试:使用客户端正常访问VIP [root@client ~]# curl 192.168.0.150 web1 [root@client ~]# curl 192.168.0.150
什么是keepalived 基于VRRP(虚拟路由器冗余协议)来实现对web服务的高可用方案。...state MASTER # 指定keepalived的角色,MASTER表示此主机是主服务器,BACKUP表示此主机是备用服务器 interface eth0 # 高可用的检测端口...+keepalived实现高可用 1.前提 两台Linux服务器,IP分别为192.168.80.128 和 192.168.80.129,都安装Nginx和keepalived,并启动。...} } } 5.重启129(backup)上的keepalived service keepalived restart 6.在浏览器中访问:http://192.168.80.100/,出现Nginx...停止128(master)上的keepalived,用来模仿master异常 service keekealived stop 8.在浏览器中访问:http://192.168.80.100/,发现出现Nginx
Nginx 配置 —— 高可用集群 CAP 原则 CAP原则又称CAP定理,指的是在一个分布式系统中,一致性(Consistency)、可用性(Availability)、分区容错性(Partition...(对数据更新具备高可用性) 分区容忍性(P): 以实际效果而言,分区相当于对通信的时限要求。系统如果不能在时限内达成数据一致性,就意味着发生了分区的情况,必须就当前操作在C和A之间做出选择。...此时为了防止这种情况的出现,我们需要另一个 Nginx 服务器作为备用。 KeepAlived keepalived 是基于 vrrp 协议的一款高可用软件。...主要为了解决静态路由高可用问题。...使用 keepalived 配置主备模式的高可用 Nginx 集群 为了防止某一台 linux 服务器宕机,我们需要在两台服务器上都进行 Nginx 和 keepalived 的安装。
Nginx高可用 为什么需要高可用配置 ? 单个Nginx负载均衡整个系统,如果nginx挂了,那么整个系统都将瘫痪,这时我们就需要保证及时1个Nginx挂了,整个系统也是可用的。...这时我们就需要实现Nginx的高可用,nginx的高可用需要配合keepalived一起实现。...3.完成高可用的配置 修改/etc/keepalived/keepalivec.conf 配置文件 global_defs { notification_email { acassen@firewall.loc.../bin/bash A=`ps -C nginx –no-header |wc -l` if [ $A -eq 0 ];then /usr/local/nginx/sbin/nginx sleep...启动 启动 nginx:.
Keepalived软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能 Keepalived软件的官方站点是 http...://www.keepalived.org keppalived服务的三个重要功能 管理LVS负载均衡软件 实现对LVS集群节点健康检查功能 作为系统网络服务的高可用功能 keepalived软件工作原理...1、Keepalived高可用对之间是通过VRRP通信的 1) VRRP,全称Virtual Router Redundancy Protocol,中文名为虚拟路由冗余协议,VRRP的出现是为了解决静态路由的单点故障...3) VRRP用IP多播的方式(默认多播地址(224.0.0.18)实现高可用对之间通信。 ...2、Keepalived 服务的工作原理 Keepalived高可用对之间是通过VRRP进行通信的,VRRP是通过竞选机制来确定主备的,主的优先级高于备,因此,工作时主会优先获得所有的资源,备节点处于等待状态
1 Keepalived 简介 1.1、简介 Keepalived 软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能。...Keepalived软件主要是通过VRRP协议实现高可用功能的。...高可用 3.1 环境 OS 角色 IP VIP CentOS7 Master 192.168.1.100 192.168.1.200 CentOS7 Slave 192.168.1.101 3.2...安装配置 Keepalived 在主备节点上安装 Keepalived yum install keepalived -y 在主备节点上安装 Nginx yum install nginx -y 配置.../scripts/check_nginx.sh #!
Nginx + Consul Template 创建反向代理虚拟主机 docker-machine create reverseproxy 出现以下内容代表创建成功 Running pre-create...: image: nginx:latest ports: - 8081:80 volumes: - ..../nginx.conf:/etc/nginx/nginx.conf - ..../etc/nginx/conf.d/nginx.ctmpl:/etc/nginx/conf.d/vhost.conf" --log-level=info 把容器跑起来 docker-compose up...: image: nginx:latest ports: - 81:80 nginx2: image: nginx:latest ports:
实验环境 172.16.0.10 keepalived+Nginx主负载均衡 172.16.0.8 keepalived+Nginx备负载均衡 172.16.0.4 后端服务器WEB节点1(Nginx站点.../html; index index.html index.php; } } } 启动Nginx /usr/local/nginx/sbin/nginx 配置负载均衡服务器...所以我们需要写一些代码来判断一下Nginx服务是不是正常,如果不正常的话我们就将Nginx服务重新启动,如果Nginx启动不了就将keepalived服务关掉,然后实现VIP的漂移,这个时候用户就不会出现无法访问的情况了.../bin/sh # check nginx server status NGINX=/usr/local/nginx/sbin/nginx PORT=80 nmap localhost -p $PORT...} } 测试 把Nginx文件故意配置错误然后关闭Nginx服务,查看keepalived服务器是否会关闭,然后实现VIP的漂移
1、何为高可用 加入有两个服务器有相同的服务,平时只有一台提供服务,另一台作为热备。当提供服务的机子挂了之后,热备机能马上接管服务,这就是高可用。...Nginx的高可用可以用KeepAlive实现。 而Hadoop、Kafka等则是用Zookeeper实现高可用。...2、KeepAlived简介 keepalive是通过VRRP(虚拟路由冗余协议)实现高可用。...master会发组播消息,当backup在超时时间内收不到vrrp包时就认为master宕掉了,这时就需要根据VRRP的优先级来选举一个backup当master,保证路由器的高可用。...所以还需要自己写一个脚本去监测nginx存活状态,然后视情况停掉keepAlived,这样才会有高可用。
一、Nginx安装 1、去官网http://nginx.org/或者http://nginx.org/en/download.html下载对应的nginx包,推荐使用稳定版本 image.png 2、上传...nginx到linux系统 3、安装依赖环境 在安装nginx前首先要确认系统中安装了gcc、pcre-devel、zlib-devel、openssl-devel。...-1.16.1.tar.gz 5、编译之前,先创建nginx临时目录,如果不创建,在启动nginx的过程中会报错 mkdir /usr/local/nginx -p mkdir /var/temp/nginx.../configure --prefix=/usr/local/nginx --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock.../nginx/scgi 命令行参数含义如下: image.png 7、make编译&安装 make make install 8、进入sbin目录启动nginx 启动:nginx 停止:.
: yum -y install nginx 操作命令: systemctl start nginx; #启动Nginx systemctl stop nginx; #停止Nginx 什么是高可用?...高可用HA(High Availability)是分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计减少系统不能提供服务的时间。...虽然我们无法保证服务器百分之百可用,但是也得想办法避免这种悲剧,今天我们使用keepalived 来实现Nginx 的高可用。...双机热备方案 这种方案是国内企业中最为普遍的一种高可用方案,双机热备其实就是指一台服务器在提供服务,另一台为某服务的备用状态,当一台服务器不可用另外一台就会顶替上去。 keepalived是什么?...因此,Keepalived 除了能够管理LVS软件外,还可以作为其他服务(例如:Nginx、Haproxy、MySQL等) 的高可用解决方案软件 故障转移机制 Keepalived 高可用服务之间的故障切换转移
: yum -y install nginx 操作命令: systemctl start nginx; #启动Nginx systemctl stop nginx; #停止Nginx 什么是高可用?...高可用HA(High Availability)是分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计减少系统不能提供服务的时间。...虽然我们无法保证服务器百分之百可用,但是也得想办法避免这种悲剧,今天我们使用 keepalived 来实现 Nginx 的高可用。...双机热备方案 这种方案是国内企业中最为普遍的一种高可用方案,双机热备其实就是指一台服务器在提供服务,另一台为某服务的备用状态,当一台服务器不可用另外一台就会顶替上去。 keepalived是什么?...因此, Keepalived 除了能够管理LVS软件外,还可以作为其他服务(例如:Nginx、Haproxy、MySQL等) 的高可用解决方案软件 故障转移机制 Keepalived 高可用服务之间的故障切换转移
),Keepalived实现集群高可用(High Available),主Nginx故障后虚拟IP自动漂移到备Nginx。...Nginx+Keepalived 高可用架构 ?...Keepalived Keepalived 是集群管理中保证集群高可用的一个软件解决方案,其功能类似于heartbeat,用来防止单点故障。...虚拟路由冗余协议,可以认为是实现路由器高可用的协议,即将N台提供相同功能的路由器组成一个路由器组,这个组里面有一个master和多个backup,master上面有一个对外提供服务的vip,master...会发组播(组播地址为224.0.0.18),当backup收不到vrrp包时就认为master宕掉了,这时就需要根据VRRP的优先级来选举一个backup当master,这样的话就可以保证路由器的高可用了
此时,对于一些特大型的网站,性能的瓶颈就来自于nginx了,因为单机的nginx的并发能力是有上限的,而nginx本身是不支持集群模式的,因而此时对nginx的横向扩展就显得尤为重要。...而lvs是一款负载均衡工具,因而如果我们结合lvs和nginx,那么就可以通过部署多台nginx服务器,通过lvs的负载均衡能力,将请求均衡的分发到各个nginx服务器上,再由nginx服务器分发到各个应用服务器...也就是说,通过keepalived+lvs+nginx,我们实现了nginx的高可用集群模式。...在上面的介绍中,我们会注意到,虽然keepalived+lvs+nginx实现了nginx的集群模式,但是在我们使用nginx的时候,其本身是有一个ip和端口的,默认监听的端口是80和443,那么lvs...: # 安装nginx sudo yum install nginx 需要注意的是,在两台nginx服务器上需要将防火墙关闭,否则lvs+keepalived的两台机器就无法将请求发送到两台
公司内部 OA 系统要做线上高可用,避免单点故障,所以计划使用2台虚拟机通过 Keepalived 工具来实现 nginx 的高可用(High Avaiability),达到一台nginx入口服务器宕机...但是它一般不会单独出现,而是与其它负载均衡技术(如lvs、haproxy、nginx)一起工作来达到集群的 高可用。...所以一般Keepalived是实现前端高可用,常用的前端高可用的组合有,就是我们常见的LVS+Keepalived、 Nginx+Keepalived、HAproxy+Keepalived。...总结一下,Keepalived中实现轻量级的高可用,一般用于前端高可用,且不需要共享存储,一般常用于两个节点的高可 用。...而Heartbeat(或Corosync)一般用于服务的高可用,且需要共享存储,一般用于多节点的高可用。这个问题我们说明白了。
领取专属 10元无门槛券
手把手带您无忧上云