Nginx(六):配置nginx高可用集群

我们知道在我们使用nginx代理多态tomcat服务器时,如果某台tomcat服务器发生宕机,那么nginx的分配机制可以自动将其剔除。但是如果发生了nginx的宕机状况,又该如何解决呢。
在这里插入图片描述

1、配置高可用的集群

1.1、什么是高可用
高可用HA(High Availability)是分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计减少系统不能提供服务的时间。

假设系统一直能够提供服务,我们说系统的可用性是100%。

如果系统每运行100个时间单位,会有1个时间单位无法提供服务,我们说系统的可用性是99%。

很多公司的高可用目标是4个9,也就是99.99%,这就意味着,系统的年停机时间为8.76个小时。

百度的搜索首页,是业内公认高可用保障非常出色的系统,甚至人们会通过http://www.baidu.com 能不能访问来判断“网络的连通性”,百度高可用的服务让人留下啦“网络通畅,百度就能访问”,“百度打不开,应该是网络连不上”的印象,这其实是对百度HA最高的褒奖。
1.2、通过keepalived实现高可用
Nginx 负载均衡实现高可用,需要借助Keepalived地址漂移功能。
将keepalived 中的vip作为nginx负载均衡的监听地址,并且域名绑定的也是虚拟ip(vip)的地址。
在这里插入图片描述
1.需要两台nginx服务器
2.需要keepalived软件
3.需要虚拟ip地址

2、配置高可用的集群实例

2.1、准备工作

  • 需要两台服务器。
  • 在两台服务器安装nginx。
  • 在两台服务器安装keepalived。

2.2、keepalived的安装

  1. 使用yum命令进行安装:
yum install keepalived -y

2.安装完成后在/etc目录中会生成keepalived目录,有文件keepalived.conf
在这里插入图片描述

2.2.1修改/etc/keepalived/keepalivec.conf 配置文件

vrrp_instance VI_1 {
global_defs {notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.17.129
smtp_connect_timeout 30
router_id LVS_DEVEL
}vrrp_script chk_http_port {script "/usr/local/src/nginx_check.sh"interval 2	#(检测脚本执行的间隔)	weight 2		}		vrrp_instance VI_1 {		state BACKUP	# 备份服务器上将 MASTER 改为 BACKUP	interface ens33	//网卡	virtual_router_id 51   # 主、备机的 virtual_router_id 必须相同	priority 90	# 主、备机取不同的优先级,主机值较大,备份机值较小	advert_int 1		
15		authentication {
auth_type PASS
auth_pass 1111
}virtual_ipaddress {
192.168.17.50 // VRRP H 虚拟地址
}
}

2.3、在/usr/local/src 添加检测脚本

#!/bin/bash
A=`ps -C nginx –no-header |wc -l`
if [ $A -eq 0 ];then
/usr/local/nginx/sbin/nginx
sleep 2
if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
killall keepalived
fi
fi

2.4、最终测试
1)在浏览器地址栏输入 虚拟 ip 地址 192.168.17.50
在这里插入图片描述
2)把主服务器(192.168.17.129)nginx 和 keepalived 停止,再输入 192.168.17.50
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/535918.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MIP开发教程(一) MIP-CLI工具安装与环境部署

依赖安装 安装 MIP-CLI 创建开发文件结构 1. 依赖安装 MIP-CLI 使用 NPM 安装,依赖 node 环境: node 安装-windowsnode 安装-mac MIP-CLI 开发组件需要 git: git 安装-windowsgit 安装-mac 2. 安装 MIP-CLI MIP-CLI:mip 开…

向MIP开源项目提交Issues

Issues 是 GitHub 管理需求,讨论技术方案的方式,附:官方解释。MIP 是在 GitHub 上的开源项目,也使用 Issues 来做任务管理。 一、Issues 在 MIP 项目中的应用 MIP 项目中的 Issues 主要有两种用法: 1. * 记录 bug,…

Nginx(七):nginx原理解析

前面我们讲到了nginx的反向代理、负载均衡、动静分离以及高可用,本篇我们来了解一下nginx的原理,看一下nginx是怎么执行的。 1、mater和worker 2、worker是如何进行工作的 3、相关问题 3.1、一个 master 和多个 woker 有好处 (1&#xff0…

MIP技术交流分享(3月9日)

3月9日上周四下午,MIP 团队工程师与去哪儿酒店云、众荟的 Web 前端工程师进行了一次面对面的技术交流。 在这次交流中,MIP 工程师主要分享了 MIP 技术原理,MIP 加速原理,以及 MIP 为开发者提供的工具集。去哪儿的工程师也提出了通…

SpringBoot基础篇(一):Spring Boot入门

我们今天开始对SpringBoot的学习,本篇主要是Spring Boot的入门部分。 1、SpringBoot简介 引用SpringBoot在百度百科中的含义: Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使…

SpringBoot番外篇(一):使用Spring Initializer快速创建Spring Boot项目(IDEA版)

IDE都支持使用Spring的项目创建向导快速创建一个Spring Boot项目; 选择我们需要的模块;向导会联网创建Spring Boot项目; ps:需要联网 1、创建新项目时选择Spring Initializ,选择好java版本,点击next。r 2、填写项…

开发教程(四) MIP组件平台使用说明

组件审核平台用于上传 MIP 组件。经过自动校验之后,提交审核,通过审核的组件会定时推送到线上,供网站使用。 平台地址:https://www.mipengine.org/platform/ 1. 使用说明 MIP 组件审核平台用于提交开发完成的组件,如…

MIP 技术交流分享(3月15日)

3月15日下午,MIP 团队工程师与58赶集的 Web 前端工程师进行了一次面对面的技术交流。 在这次交流中,MIP 工程师主要分享了 MIP 技术原理,MIP 加速原理,以及 MIP 为开发者提供的工具集。 58赶集的工程师提出了以下问题&#xff1a…

Redis(零):背景

什么是NoSQL,什么是Redis,我们在了解这个系列之前,先来看一下Redis是从何而来?Why redis is needed? 1、单机MySQL年代 在最早的单机MySQL年代,存在着访问量小,单个数据库等特点。 但是特有着众多的缺…

Redis(二):Redis入门与性能测试

1、Redis概述 Redis是什么: Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 免费开源&#xf…

Redis(三):Redis基础知识与常用命令

1、基础命令 Redis默认有16个数据库,用的是第0个数据库,可以使用select进行切换数据库,使用DBSIZE查看DB大小(只针对当前数据库)。 使用keys * 查看当前数据库下所有的key,使用flushdb清除当前数据库&am…

五个案例简述Web设计原则:通用一致

作者 | 百度搜索用户体验中心 《Web设计指南》分为设计原则、基础规范两方面主要内容,同时会提供相应的实际案例及资源下载。欢迎关注OpenWeb开发者,订阅《Web设计指南》。 前言 《Web设计指南》是专门为广大Web内容生态提供一套简单实用的设计指南&a…

WebP 在减少图片体积和流量上的效果如何?WebP 技术实践分享

作者 | Jackson 编辑 | 尾尾 不论是 PC 还是移动端,图片一直占据着页面流量的大头,在图片的大小和质量之间如何权衡,成为了长期困扰开发者们的问题。而 WebP技术的出现,为解决该问题提供了好的方案。本文将为大家详细介绍 WebP 技…

百度主任架构师谭待:如何让不带团队的程序员负责重大项目?

演讲 | 谭待 整理 | 赵新龙、尾尾 谭待,百度主任架构师、百度搜索公司技术委员会联席主席。主要研究领域在分布式系统和搜索引擎,是百度BVC代理计算和Matrix私有云的主要设计者,两获百度最高奖。主持设计了百度新一代搜索架构,在…

Chrome Dev Summit 2017参会笔记

作者 | 高磊 编辑 | 尾尾 为期两天的 Chrome Dev Summit 2017 于 10月23日~24日在美国旧金山举办。由于我们近期和Google的合作较多,对Google的动作也比较关注,所以受邀参加了这次的Chrome Dev Summit (CDS)。本文是我在现场做的…

九个案例简述Web设计原则:简洁清晰

作者 | 百度搜索用户体验中心 《Web设计指南》分为设计原则、基础规范两方面主要内容,同时会提供相应的实际案例及资源下载。欢迎关注OpenWeb开发者,订阅《Web设计指南》。 前言 《Web设计指南》是专门为广大Web内容生态提供一套简单实用的设计指南&a…

大型网站HTTPS 实践(一)| HTTPS 协议和原理

作者 | 百度HTTPS技术支持团队 百度已经上线了全站 HTTPS 的安全搜索,默认会将 HTTP 请求跳转成 HTTPS。本文就着重介绍了 HTTPS 协议涉及到的重要知识点和平时不太容易理解的盲区,希望能对大家理解 HTTPS 协议有帮助。百度 HTTPS 性能优化涉及到大量内容…

大型网站HTTPS实践:HTTPS对性能的影响

作者 | 百度HTTPS技术支持团队 百度已经上线了全站 HTTPS 的安全搜索,默认会将 HTTP 请求跳转成 HTTPS。百度 HTTPS性能优化涉及到大量内容,从前端页面、后端架构、协议特性、加密算法、流量调度、架构和运维、安全等方面都做了大量工作。本系列的文章将…

PWA将带来新一轮大前端技术洗牌?

作者 | 彭星 编辑 | 尾尾 一、回顾历史:移动时代之初,Web遭遇两大枷锁 Web 在移动时代遭遇两大枷锁1.Web 在移动时代遭遇两大枷锁 当 Web 自信满满,步入移动时代之时,它还没有做好充足的准备。 回顾 2014 到 2015 年那段时间…

高级精致智能快捷的Web设计原则案例

作者 | 百度搜索用户体验中心 《Web设计指南》分为设计原则、基础规范两方面主要内容,同时会提供相应的实际案例及资源下载。关注OpenWeb开发者,回复“设计指南”,即可获取已发布资源。 设计原则之高级精致 简洁并不等于粗糙没有细节&#x…