Nginx实战应用-负载均衡

news2024/9/22 23:31:49

在上篇文章的基础上我们再创建两个服务,三个服务的端口分别是 8081 8082 8083.

在这里插入图片描述

2.Nginx配置

upstream块

upstream name{…}

upstream gupao{

server 192.168.12.1:8081;

server 192.168.12.1:8082;

server 192.168.12.1:8083;

}

server {

location / {

proxy_pass http://gupao;

}

}

server块

语法:

server address [parameters]

| 组成 | 说明 |

| — | :-- |

| server | 必选 |

| address | 必选 可以是主机名、域名、ip,也可以指定端口号 |

| parameters | 可选

down:表示当前server已停用

backup:表示当前server是备用服务器,只有其它非backup后端服务器都挂掉了或者很忙才会分配到请求

weight:表示当前server负载权重,权重越大被请求几率越大。默认是1

max_fails和fail_timeout一般会关联使用,如果某台server在fail_timeout时间内出现了max_fails次连接失败,那么Nginx会认为其已经挂掉了,从而在fail_timeout时间内不再去请求它,fail_timeout默认是10s,max_fails默认是1,即默认情况是只要发生错误就认为服务器挂掉了,如果将max_fails设置为0,则表示取消这项检查。 |

在这里插入图片描述

Upstream模块调度算法

1.轮询(默认): 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除

在这里插入图片描述

2.Ip_hash: 每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题

在这里插入图片描述

3.权重:即可以指定轮询比率,weight和访问几率成正比,主要应用于后端服务器异质的场景下

在这里插入图片描述

4.响应时间:公平地按照服务器的响应时间来分配请求,意味着后端响应时间最短的优先分配

![在这里插入图片描述](https://img-blog.csdnimg.cn/20200522104319723.png?x-oss-process=image/watermar

k,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM4NTI2NTcz,size_16,color_FFFFFF,t_70)

在这里插入图片描述

检查配置文件提示无法识别 fair 这是因为 fair属于第三方模块,官方安装包中并没有。

https://github.com/gnosek/nginx-upstream-fair 官方下载

然后解压缩

unzip nginx-upstream-fair-master.zip

未安装Nginx

切换到Nginx目录执行一下操作

配置:

./configure --prefix=/usr/local/nginx --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --add-module=/home/nginx-upstream-fair-master

编译安装

make && make intstall

安装过Nginx

切换到Nginx目录执行一下操作

配置

./configure --prefix=/usr/local/nginx --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --add-module=/home/nginx-upstream-fair-master

编译

make

复制Nginx

cp objs/nginx /usr/local/nginx/nginx

ginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --add-module=/home/nginx-upstream-fair-master

编译

make

复制Nginx

cp objs/nginx /usr/local/nginx/nginx

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

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

相关文章

平均月薪15k+?自动化测试工程师?3个月教你从“点工”蜕变为“码农”

前言 一、自动化测试工程师平均收入【看图(来自职友集)】 基本收入都在15k左右,随着技术的越来越牛逼工资也就会越来越高。 我的职业生涯开始和大多数测试人一样,刚开始接触都是纯功能界面测试。那时候在一家电商公司做测试&…

[附源码]计算机毕业设计基于vue+mysql开发的考试系统Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

【PAT甲级 - C++题解】1092 To Buy or Not to Buy

✍个人博客:https://blog.csdn.net/Newin2020?spm1011.2415.3001.5343 📚专栏地址:PAT题解集合 📝原题地址:题目详情 - 1092 To Buy or Not to Buy (pintia.cn) 🔑中文翻译:买还是不买 &#x…

JAVA中的运算符-关系运算符

文章目录0 写在前面1 关系运算符说明2 举例3 写在最后0 写在前面 JAVA包含丰富的关系运算符,这些关系运算符最终结果一定是boolean类型。即两个结果:true false 1 关系运算符说明 符号说明ab,判断a和b的值是否相等,成立为true,…

游戏开发48课 性能优化6

3.7.2 算法优化 思路是找出最耗CPU的算法或逻辑,优化之。 空间换时间。利用预排序/预处理/缓存/动态规划等等思路换取CPU的性能。选取更快的算法。属于数据结构和算法的范畴,思路是将O(n2)降低成O(n)或O(logn),具体可以参看《算法导论》《游…

springcloud 服务消费及熔断

目录 1. 服务消费方式 1.1 RestTemplate 1.2 feign 2. 服务熔断(降级) 2.1 在微服务架构中服务熔断的必要性 2.2 hystrix 1. 服务消费方式 1.1 RestTemplate 传统情况下在java代码里访问restful服务,一般使用Apache的HttpClient。不过…

PMP内容2

PMP内容2目录概述需求:实现思路分析1.沟通管理2.监督沟通:3.风险管理4.5.实施采购控制采购相关方管理:相关方Survive by day and develop by night. talk for import biz , show your perfect code,full busy,skip hardness,make …

JavaWeb语法一:进程和线程的区别与联系

目录 1.进程的概念 1.1:进程控制块抽象(PCB) 1.2:进程调度的相关属性 1.2.1:进程的状态 1.2.2:优先级 1.2.3:上下文 1.2.4:记账信息 2:进程的虚拟地址空间 3.线程…

算法与数据结构29:四边形不等式技巧

四边形不等式技巧题目一题目二题目三四边形不等式技巧题目四题目五题目一 给定一个非负数组arr,长度为N, 那么有N-1种方案可以把arr切成左右两部分 每一种方案都有,min{左部分累加和,有部分累加和} 求这么多方案中,mi…

我当PM,把ChatGPT玩冒(bà)烟(gōng)了

最近ChatGPT太火,本拐也注册了一个。用着确实是十分上头。而且事实证明,在处理明确的工程类业务时,ChatGPT可以让程序员事倍功半(也有可能饭碗不保🙈)参见: 跟着ChatGPT手把实现一个websocket连…

数据管理 Valentina Studio Pro 12.6 Crack

Valentina Studio 被描述为与 MySQL、SQL Server、Maria DB、SQLite、PostgreSQL 以及最后但并非最不重要的 Valentina DB 数据库一起用于工作流程的数据库工具的通用管理。Valentina Studio 能够允许用户和开发人员连接所有重要的数据库并运行查询,以及创建图表以了…

Hadoop如何保证自己的江湖地位?Yarn功不可没

前言 任何计算任务的运行都离不开计算资源,比如CPU、内存等,那么如何对于计算资源的管理调度就成为了一个重点。大数据领域中的Hadoop之所以一家独大,深受市场的欢迎,和他们设计了一个通用的资源管理调度平台Yarn密不可分&#x…

高性能缓存Caffeine的基本使用方式

文章目录介绍性能比对使用方式一、Population(缓存类型)1.Cache2.Loading3.Asynchronous (Manual)4.Asynchronously Loading二、Eviction(驱除策略)1.Size-based(基于容量)2.Time-based(基于时间…

Redis Cluster 单机部署

高可用架构-Redis Cluster Redis服务器支持单机、主从复制、Sentinel、集群部署,部署架构也是由简单到复杂,Redis Cluster 集群架构是官方推荐应对大数据量、大并发场景部署方案。Redis的架构变迁如下图所示,其归属就是Redis Cluster Redis …

一款功能强大的课程报名系统 v6.2.0

内容目录一、详细介绍二、效果展示1.部分代码2.效果图展示三、学习资料下载一、详细介绍 课程报名系统可为专为教育培训机构设计的在线选课报名系统,学员可综合考虑课程分类、适合人群、上课地点、上课时间、课程价格等多种选报最合适的班级 课程报名系统发布v6.2…

组件库技术选型和开发环境搭建

点击上方卡片“前端司南”关注我您的关注意义重大原创前端司南本文为稀土掘金技术社区首发签约文章,14天内禁止转载,14天后未获授权禁止转载,侵权必究!专栏上篇文章传送门:基于Vite打造业务组件库(开篇介绍…

盘点和总结秒杀服务的功能设计及注意事项技术体系

秒杀应该考虑哪些问题 超卖问题 分析秒杀的业务场景,最重要的有一点就是超卖问题,假如备货只有100个,但是最终超卖了200,一般来讲秒杀系统的价格都比较低,如果超卖将严重影响公司的财产利益,因此首当其冲…

0代码20min |微信接入chat-GPT

0代码20min | 微信接入chat-GPT 拥有一个openai账号 这个账号比较麻烦,需要国外手机号认证,这个的话可以直接参考这篇文章ChatGPT注册攻略 - 知乎 (zhihu.com),这篇文章是用在线接受短信的虚拟号码 - SMS-Activate这个网站来注册账号的。 用…

《操作系统》期末考试试卷2参考答案

《操作系统》期末考试卷(第2套) 参考答案与评分标准 一、单项选择题(共15题,每题2分,共30分) 题 号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 答 案 D A C C B A D D A B D C A B D 二、填空题(…

ADI Blackfin DSP处理器-BF533的开发详解31:汉字/ASIC II 字库(含源代码)

硬件准备 ADSP-EDU-BF533:BF533开发板 AD-HP530ICE:ADI DSP仿真器 软件准备 Visual DSP软件 硬件链接 功能介绍 代码实现了汉字库和 ASIC II 码 字库的功能,代码会在编译时,将字库文件加载到内存中,所以必须使用 …