nginx负载均衡(轮询与权重)
文章目录
- 1. nginx的介绍
- 2. nginx使用场景
- 3. nginx在windows的下载与安装
- 4. nginx的简单使用
- 5. nginx进行轮询测试
- 6. nginx进行权重测试
- 7. 总结
1. nginx的介绍
Nginx(engine x)是一个高性能的HTTP和反向代理web服务器,同时也是一个开源的、高性能的HTTP和反向代理服务器、IMAP/POP3/SMTP代理服务器。它最初由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点开发,并以类BSD许可证的形式发布。Nginx因其稳定性、丰富的功能集、简单的配置文件和低系统资源消耗而闻名。以下是Nginx的主要特点和用途:
主要特点
- 高性能:Nginx采用异步非阻塞的事件处理模型,能够处理高并发连接,支持高达50,000个并发连接数。
- 轻量级:Nginx具有轻量级的设计,占用的内存和CPU资源相对较少。
- 高可靠性:Nginx提供了丰富的错误处理机制,能够在高负载下稳定运行。
- 高度模块化:Nginx的设计高度模块化,模块编写简单,易于扩展和定制。
- 配置简单:Nginx的配置文件结构清晰,采用嵌套块结构,易于理解和维护。
主要用途
- Web服务器:Nginx可以作为独立的Web服务器,处理HTTP请求并返回响应。
- 反向代理:Nginx可以作为反向代理服务器,将客户端的请求转发到后端的应用服务器,隐藏真实的后端服务器,提升安全性和性能。
- 负载均衡:Nginx支持多种负载均衡算法,如轮询、最小连接数等,可以将请求均衡地分发到多个后端服务器上,提高系统的整体性能和可用性。
- 邮件代理:Nginx支持IMAP、POP3和SMTP协议,可以作为邮件代理服务器,路由、过滤和传递电子邮件。
- 动态内容服务:Nginx可以与各种后端应用服务器集成,如PHP、Node.js、Python等,实现动态内容的处理和传递。
- HTTPS服务:Nginx支持SSL/TLS协议,可以提供安全的HTTPS服务,保护用户数据在传输过程中的安全。
- 缓存加速:Nginx可以使用内存、硬盘或SSD等作为缓存存储空间,缓存静态内容和动态内容,减少服务器的负载,提高网站的访问速度。
2. nginx使用场景
Nginx作为一款高性能的HTTP和反向代理web服务器,其使用场景非常广泛。以下是Nginx的主要使用场景:
- 静态文件服务
概述:Nginx在提供静态资源服务方面效率很高,可以快速响应大量的静态请求,如CSS、JavaScript、图片、视频等文件,从而减轻其他动态服务器的负担。
优势:Nginx对静态文件的处理非常高效,因为它直接从磁盘读取文件并通过网络发送给客户端,无需经过复杂的处理流程。 - 反向代理和负载均衡
反向代理:Nginx可以作为反向代理服务器,将客户端的请求转发到后端的应用服务器上,并返回处理结果给客户端。这种机制隐藏了真实的后端服务器,提高了系统的安全性。
负载均衡:Nginx支持多种负载均衡算法,如轮询、最少连接数、IP哈希等,可以根据后端服务器的负载情况动态地分配请求,提高系统的整体性能和可用性。 - 缓存服务器
概述:Nginx可以配置为缓存服务器,缓存一些响应结果,如静态文件、数据库查询结果等,以减少对后端服务器的请求次数,降低后端服务器的负载,提高数据的访问速度。
优势:缓存机制可以显著提高网站的访问速度,尤其是在高并发场景下,能够有效缓解后端服务器的压力。 - SSL加速
概述:Nginx支持HTTPS协议,可以通过SSL/TLS加密技术保护数据传输的安全性。同时,Nginx还提供了SSL加速功能,可以提高HTTPS访问的性能,减少SSL负载压力。
优势:SSL加速功能使得Nginx在处理HTTPS请求时更加高效,能够为用户提供更加安全的访问体验。 - WebSocket支持
概述:Nginx也支持WebSocket协议,可以用于实现实时通信应用程序。WebSocket协议允许服务器和客户端之间建立持久连接,并通过该连接进行双向通信。
应用:WebSocket在实时通信、在线游戏、实时数据推送等领域有广泛的应用。 - 访问控制和安全
概述:Nginx提供了丰富的访问控制功能,如基于IP地址的访问限制、基于用户名的认证等,可以有效保护Web应用程序和服务器的安全。
优势:通过合理的访问控制策略,Nginx可以防止非法访问和恶意攻击,提高系统的安全性。 - 动静分离
概述:为了提高网站的解析速度和降低服务器的压力,Nginx可以实现动静分离。即将动态页面和静态页面由不同的服务器解析,或者通过Nginx将动态请求和静态请求分开处理。
优势:动静分离可以显著提高网站的访问速度和系统的整体性能。
3. nginx在windows的下载与安装
nginx下载

下载下来,直接本地解压就行了

启动后可能会闪退,很正常,打开任务管理器,这里存在就说明启动了

访问localhost:80就可以了

4. nginx的简单使用
打开nginx目录中的html我们创建两个文件夹,然后在其中创建index.html


one中的index.html
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>One</title>
</head>
<body><h1>one!!!!</h1>
</body>
</html>
two中的index.html
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Two</title>
</head>
<body><h1>two!!!!</h1>
</body>
</html>
打开nginx中conf文件夹下的nginx.conf配置一下(加上就行)
server {listen 8098;server_name localhost;location / {root html/one;index index.html index.htm;}}server {listen 8097;server_name localhost;location / {root html/two;index index.html index.htm;}}
随后就能访问了


5. nginx进行轮询测试
我们在nginx.conf中添加其他语句
upstream backServer{server 127.0.0.1:8098;server 127.0.0.1:8097;
}
server {listen 8088;server_name localhost;location / {proxy_pass http://backServer;}
}
重启nginx
在任务管理器里面结束nginx的任务,再启动
然后我们访问localhost:8088
一直刷新一下就会看到,两个界面进行轮流访问!!!
6. nginx进行权重测试
修改配置,其他不变
upstream backServer{server 127.0.0.1:8098 weight=2;server 127.0.0.1:8097 weight=1;
}
再次重启
进行访问localhost:8088
我们会发现one界面的访问概率比two界面更高
7. 总结
我们简单学习了一下nginx的windows安装和简单的轮询与负载的使用。
欢迎批评指正!!!!

相关文章:
nginx负载均衡(轮询与权重)
文章目录 1. nginx的介绍2. nginx使用场景3. nginx在windows的下载与安装4. nginx的简单使用5. nginx进行轮询测试6. nginx进行权重测试7. 总结 1. nginx的介绍 Nginx(engine x)是一个高性能的HTTP和反向代理web服务器,同时也是一个开源的、…...
【计算机网络】网络通信中的端口号
文章目录 一、引入端口号二、端口号的作用三、端口号的确定 在TCP/IP协议中,传输层有两个重要的协议:TCP(传输控制协议)和UDP(用户数据报协议)。TCP用于提供可靠的数据传输,而UDP则适合用于广播…...
Python 解析 JSON 数据
1、有如下 JSON 数据,存放在 data.json 文件: [{"id":1, "name": "小王", "gender": "male", "score": 96.8}, {"id":2, "name": "小婷", "gender&qu…...
利用LlamaIndex构建ARG本地知识库
文章目录 1. 环境准备2. 启用诊断日志3. 配置本地模型4. 配置本地向量模型5. LlamaIndex全局配置6. 创建 PGVectorStore7. 从数据库加载数据8. 文本分割器: SpacyTextSplitter9. 配置管道10. 创建向量存储索引11 .指定响应模式,以及启用流式响应 在现代的人工智能应…...
PCM的缺点
PCM的主要缺点包括需要较大的数据传输带宽和存储空间,导致无法实现高压缩比,相对较低的数据压缩效率。 PCM(脉冲编码调制)作为一种无损编码技术,虽然能够保留原始信号的完整性,适用于需要高保…...
【C语言】(指针系列四)回调函数+qsort函数
一、回调函数 回调函数就是通过函数指针调用的函数 如果你把函数的指针作为参数传递给另外一个函数,当这个指针被用来调用其所指向的函数时,被调用的函数就是回调函数。回调函数并不是一个单一的函数实现的,而是在某种情况下,编…...
全面理解tensor编程中矩阵的行和列
经常会在编程中遇到理解矩阵行和列的事情。 1、要明确无论这个张量有多少维度,它的矩阵乘法都只能作用于最后两个维度。 例如: import torcha torch.rand([64, 32, 3, 4]) b torch.rand([64, 32, 3, 4])c torch.matmul(a, b.transpose(2, 3)) # 交…...
【Kubernetes】常见面试题汇总(十)
目录 29.简述 Kubernetes 自动扩容机制? 30.简述 Kubernetes Service 类型? 31.简述 Kubernetes Service 分发后端的策略? 32.简述 Kubernetes Headless Service ? 29.简述 Kubernetes 自动扩容机制? (…...
CSS —— 界面布局
flexbox - 弹性盒子布局(弹性布局) 一维方向,横纵向排列。 采用flex布局的元素,称为 Flex 容器(flex container),简称"容器" flex-direction 用于设置主轴方向;子元素默…...
SpringBoot万级并发-jemeter-Address already in use: connect
一、场景 用Jmeter压力单测接口的时候,发现报 Response code:Non HTTP response code: java.net.BindException Response message:Non HTTP response message: Address already in use: connect 然后我这边是wondows的电脑操作压测的,操作系统win10&…...
P1228 地毯填补问题
 #include<bits/stdc.h> using namespace std; #define qw dfs(zxl-1,zyl-1,zx,zy,l); #define we dfs(zxl-1,zyl,zx,zyl,l); #define er dfs(zxl,zyl-1,zxl,zy,l); #define rt dfs(zxl,zyl,zxl,zyl,l);void dfs(int x,int y,int zx,int zy,int…...
【计算机网络】UDP TCP介绍
UDP & TCP介绍 UDP报文格式报文内容介绍端口号报文长度校验和载荷 TCP报文格式初步了解TCP机制确认应答超时重传连接管理滑动窗口流量控制拥塞控制紧急传输数据推送延时应答捎带应答面向字节流异常处理心跳机制 UDP 和 TCP 的区别 UDP 报文格式 对于网络协议, 本质上就是…...
JDBC初相识
文章目录 JDBC的由来JDBC的好处 JDBC核心API的介绍JDBC会用到的包JDBC四个核心对象JDBC访问数据库的步骤 客户端操作MySQL数据库的方式 使用第三方客户端来访问MySQL:SQLyog、Navicat 使用MySQL自带的命令行方式 通过Java来访问MySQL数据库,今天要学习…...
Go语言现代web开发07 map字典
Maps are complex data types used to store key-value pairs. Each key can appear only once on the map and can be used to find the value paired with that key. The default value for the map is nil. A nil map has no keys and keys cannot be added. 映射是用于存储…...
AI工具一键制作爆火的“汉语新解“卡片!
最近出现了一种很火的新玩法“汉语新解”。 AI把一个词汇,以一种特殊的视角,用幽默、讽刺等方式重新定义,然后生成一张精美的卡片。 这个玩法和之前我发的的吐槽工具玩法类似,主打的就是一个新颖、情绪释放。 今天教大家怎么快速…...
windows检查端口占用并关闭应用
要在Windows CMD中找到占用8888端口的应用并关闭该应用,你可以按照以下步骤操作: 打开命令提示符(CMD)。你可以通过在搜索栏输入 cmd 或使用 Win R 快捷键,然后输入 cmd 并回车来打开。 查找占用8888端口的进程。在C…...
机器学习-聚类算法
机器学习-聚类算法 1.AHC2. K-means3. SC4.MCL 仅个人笔记,感谢点赞关注! 1.AHC 2. K-means 3. SC 传统谱聚类:个人对谱聚类算法的理解以及改进 4.MCL 目前仅专注于NLP的技术学习和分享 感谢大家的关注与支持!...
keil 中 printf重定向
int fputc(int ch, FILE *f) {HAL_UART_Transmit(&huart1, (void*)&ch, 1, 1000);return ch;} 同时勾选,使用微库...
yum下载软件失败:‘Could not resolve host: mirrorlist .centos .org; Unknowm error
Loaded plugins: fastestmirror, ovl Determining fastest mirrors Could not retrieve mirrorlist http://mirrorlist.centos.org/?release7&archx86_64&repoos&infracontainer error was 14: curl#6 - “Could not resolve host: mirrorlist.centos.org; Unknow…...
云轴科技ZStack 获鲲鹏应用创新大赛2024上海赛区决赛一等奖
9月13日,鲲鹏应用创新大赛2024上海赛区决赛成功举办。经评委专家从方案创新性、技术领先性、商业前景以及社会价值四个维度严格评审,云轴科技ZStack参赛作品《ZStack鲲鹏原生开发方案》荣获上海赛区企业赛——原生开发赛道(互联网)…...
wordpress后台更新后 前端没变化的解决方法
使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…...
【OSG学习笔记】Day 18: 碰撞检测与物理交互
物理引擎(Physics Engine) 物理引擎 是一种通过计算机模拟物理规律(如力学、碰撞、重力、流体动力学等)的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互,广泛应用于 游戏开发、动画制作、虚…...
屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!
5月28日,中天合创屋面分布式光伏发电项目顺利并网发电,该项目位于内蒙古自治区鄂尔多斯市乌审旗,项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站,总装机容量为9.96MWp。 项目投运后,每年可节约标煤3670…...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列,以便知晓哪些列包含有价值的数据,…...
基于SpringBoot在线拍卖系统的设计和实现
摘 要 随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统,主要的模块包括管理员;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...
CSS | transition 和 transform的用处和区别
省流总结: transform用于变换/变形,transition是动画控制器 transform 用来对元素进行变形,常见的操作如下,它是立即生效的样式变形属性。 旋转 rotate(角度deg)、平移 translateX(像素px)、缩放 scale(倍数)、倾斜 skewX(角度…...
WPF八大法则:告别模态窗口卡顿
⚙️ 核心问题:阻塞式模态窗口的缺陷 原始代码中ShowDialog()会阻塞UI线程,导致后续逻辑无法执行: var result modalWindow.ShowDialog(); // 线程阻塞 ProcessResult(result); // 必须等待窗口关闭根本问题:…...
论文阅读:LLM4Drive: A Survey of Large Language Models for Autonomous Driving
地址:LLM4Drive: A Survey of Large Language Models for Autonomous Driving 摘要翻译 自动驾驶技术作为推动交通和城市出行变革的催化剂,正从基于规则的系统向数据驱动策略转变。传统的模块化系统受限于级联模块间的累积误差和缺乏灵活性的预设规则。…...
MFE(微前端) Module Federation:Webpack.config.js文件中每个属性的含义解释
以Module Federation 插件详为例,Webpack.config.js它可能的配置和含义如下: 前言 Module Federation 的Webpack.config.js核心配置包括: name filename(定义应用标识) remotes(引用远程模块࿰…...
