Nginx配置实例-负载均衡

news2024/11/15 9:46:08

随着互联网信息的爆炸性增长,负载均衡(load balance)已经不再是一个很陌生的话题,
顾名思义,负载均衡即是将负载分摊到不同的服务单元,既保证服务的可用性,又保证响应
足够快,给用户很好的体验。快速增长的访问量和数据流量催生了各式各样的负载均衡产品,很多专业的负载均衡硬件提供了很好的功能,但却价格不菲,这使得负载均衡软件大受欢迎,nginx就是其中的一个,在linux下有Nginx、LVS、Haproxy等等服务可以提供负载均衡服务,而且Nginx提供了几种分配方式(策略)。

nginx分配服务器策略:

第一种轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器 down掉,能自动剔除。
第二种  weight
weight代表权重默认为1,权重越高被分配的客户端越多。
第三种  ip_hash
每个请求按访问 ip的hash结果分配,这样每个访客固定访问一个后端服务器。
第四种 fair(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配。

实现案例:

1、实现效果

浏览器地址栏输入地址
http://192.168.200.130/test
/a.html
自动请求8080和8081两台服务器的a.html页面


2、准备工作

(1)准备两台 tomcat服务器,一台端口为8080,一台端口为8081。
(2)在两台tomcat里面的webapps目录中,创建名称是test文件夹,在test文件夹中创建
页面 a.html,用于测试。

 
3、在 nginx的配置文件中进行负载均衡的配置,修改配置文件nginx.conf

修改完配置后,重启nginx。

在浏览器中输入http://192.168.200.130/test/a.html ,多次刷新,便可以看到每次请求的是不同的Tomcat服务器:

 这个效果就是nginx实现的负载均衡,将请求转发到不同的服务器处理。

4、切换不同访问策略

使用权重策略,修改weight的值,将请求根据权重分配到不同的服务器上。

修改完配置后,重启nginx。

刷新浏览器,可以看到,服务器1连续被访问两次,服务器2只会被访问一次。

使用ip_hash策略,该策略代表一个IP地址的请求都会转发到一台服务器上处理。

具体配置如下:

修改完配置后,重启nginx。

刷新浏览器,可以看到,所有的请求都被服务器2处理。

这样每个访客固定访问一个后端服务器,可以解决 session的问题。

使用fair策略,按后端服务器的响应时间来分配请求,响应时间短的优先分配。

这种方式需要单独安装fair相关的模块,因为fair不是nginx自带的。

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

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

相关文章

Nginx安装搭建和环境准备教程(Ubantu)

本文以Ubantu18.08为例: 首先进入虚拟机中升级apt-get: apt-get update nginx进行安装: apt install nginx 使用命令查看nginx是否启动: systemctl status nginx nginx已经启动,可以到前端页面去访问是否真的已经启…

Vue项目中使用AntV G6绘制自适应图谱

Vue项目中使用AntV G6绘制自适应图谱 一、需求 需求1:Vue3.x项目下使用AntV G6绘制图谱 需求2:图谱节点为两个IP地址,节点间存在多条连线情况 需求3:鼠标悬浮到节点上方时,高亮当前节点并出现tooltip气泡提示&#…

Blackmagic黑魔法摄像机braw视频文件修复方法

Blackmagic是全球知名的影视级产品供应商,其高清摄像机是国内外各种剧组的最爱。Blackmagic的新产品目前使用braw格式,其编码采用自定义的raw编码,视频的效果和阿莱不相上下。近期我们处理了一例braw损坏无法播放的问题,我们来看看…

网络编程入门

什 么 是 网 络 编 程 网络编程的本质是多台计算机之间的数据交换。 数据传递本身没有多大的难度,不就是把一个设备中的数据发送给其他设备,然后接受另外一个设备反馈的数据。 现在的网络编程基本上都是基于请求/响应方式的,也就是一个设备发…

[附源码]计算机毕业设计基于springboot的小区宠物管理系统

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

css样式引入方式及优缺点

这篇文章主要介绍了css样式引入及优缺点,本文给大家分享三种css的引入方式,通过代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧 三种css的引入方式 1.行内样式 优点:书写方…

【Python自然语言处理】文本向量化处理用户对不同类型服装评论问题(超详细 附源码)

需要源码和数据集请点赞关注收藏后评论区留言私信~~~ 下面以文本向量化为目标,举例说明基于不同模型的实现过程,使用的数据集的主题是用户对不同类型的女性服装的评论,总共有23485条记录 实现步骤如下 一、导入库文件 首先导入需要的库文件…

MySQL数据库日志、备份与恢复

目录 前言 一.MySQL 日志管理 数据的重要性 造成数据丢失的原因 1、错误日志 2、通用查询日志 3、二进制日志 4、慢查询日志 5、查看日志 6.中继日志(relay log) 7、普通日志(general log) 配置文件 二、数据库备份的…

Metabase学习教程:系统管理-4

序列化:在Metabase实例间迁移 如何使用Metabase的序列化功能将问题、仪表板、集合、设置等从一个Metabase实例复制到新的Metabase实例。 Metabase序列化 序列化仅在商业版上可用(仅在自托管计划上)。 许多客户在迁移到本地部署的商业版时…

二叉树OJ题详解

第一题:单值二叉树 力扣链接:力扣 单值二叉树就是每一个节点存放的数据都相同,那么如何判断一棵树为单值二叉树呢?我们就拿最简单的一棵树为例子,比如根节点为1它的左子树和右子树也为1的一棵树,我们只需要…

以太网 TCP协议(TCP报文交互后的状态机变化)

2.7.2 以太网 TCP协议(TCP报文交互后的状态机变化) 一、TCP状态机: 二、TCP状态机变化 1、TCP三次握手 客户端主动发起SYN置位TCP之后,状态变为SYN_SENT(请求发送状态)服务器默认处于LISTEN(监听状态)。收到SYN报文之后&#x…

VMwareWorkStation如何添加万兆网卡,万兆网卡添加教程

1.引言 不同于ESXi,在VMware WorkStation(后文简称VMware)中添加网卡后没有选择网卡速度等级的选项,例如百兆、千兆、万兆等。就算点开右下角的”高级“也不管用。不过按照VMware的默认设定,当新建虚拟机选择32位操作系…

【玩转STL】STL的简介和string类用法和接口讲解(源码解析)

接触编程时间长一点的朋友想必都多多少少听过vector、string、queue等容器,也大抵了解一些有关STL的概念,这一节,我们就一起来谈一谈STL的六大组件,再来一起深入理解string类。 这里写目录标题🍎、什么是STL&#xff0…

人工智能:语音合成技术介绍

❤️作者主页:IT技术分享社区 ❤️作者简介:大家好,我是IT技术分享社区的博主,从事C#、Java开发九年,对数据库、C#、Java、前端、运维、电脑技巧等经验丰富。 ❤️个人荣誉: 数据库领域优质创作者🏆&#x…

PCL 点云采样

一、简介 点云采样一般有三种方式,上采样,下采样,平均采样 原理介绍 下采样: 一般是采样是通过构建一个三维体素的格栅,然后在每个体素内用体素的重心近似的作为这个体素的整体特征,也就是说用这一个体素…

python 拆分pdf(有可执行文件exe)

1.背景 被那些软件pdf拆分整气死了,今天用python写一份pdf拆分的代码。 2.代码:(计算机的可以去学习一下,自己改改) pdf_split.py from PyPDF2 import PdfFileReader, PdfFileWriter# PDF文件分割 def split_pdf():…

pytorch nn.utils.rnn.pack_padded_sequence 分析

pack_padded_sequence 在nlp模型的forward方法中,可能有以下调用令读者疑惑 packed_embedded nn.utils.rnn.pack_padded_sequence(embedded, text_lengths, batch_firstTrue, enforce_sortedFalse)为什么要使用pack_padded_sequence? 参考 Pytorch中…

TDengine3.0:解决高基数问题的时序数据库设计思路

小 T 导读: 数据集的高基数(High-Cardinality)问题一直困扰着诸多主流的时序数据库(Time Series Database,TSDB)产品。一些数据库管理系统,在基数较低时表现良好;但是随着基数的增加…

vue2.x与vue3.x中自定义指令详解

🐱个人主页:不叫猫先生 🙋‍♂️作者简介:前端领域新星创作者、华为云享专家、阿里云专家博主,专注于前端各领域技术,共同学习共同进步,一起加油呀! 💫系列专栏&#xff…

m基于GA遗传算法的分件供送螺杆参数优化matlab仿真,优化参数包括螺杆总尺寸-最大圈数等

目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 首先介绍MATLAB部分的遗传算法的优化算法介绍: 遗传算法的原理 遗传算法GA把问题的解表示成“染色体”,在算法中也即是以二进制编码的串。并且,在执行遗传算法…