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的主要使用场景

  1. 静态文件服务
    概述:Nginx在提供静态资源服务方面效率很高,可以快速响应大量的静态请求,如CSS、JavaScript、图片、视频等文件,从而减轻其他动态服务器的负担。
    优势:Nginx对静态文件的处理非常高效,因为它直接从磁盘读取文件并通过网络发送给客户端,无需经过复杂的处理流程。
  2. 反向代理和负载均衡
    反向代理:Nginx可以作为反向代理服务器,将客户端的请求转发到后端的应用服务器上,并返回处理结果给客户端。这种机制隐藏了真实的后端服务器,提高了系统的安全性。
    负载均衡:Nginx支持多种负载均衡算法,如轮询、最少连接数、IP哈希等,可以根据后端服务器的负载情况动态地分配请求,提高系统的整体性能和可用性。
  3. 缓存服务器
    概述:Nginx可以配置为缓存服务器,缓存一些响应结果,如静态文件、数据库查询结果等,以减少对后端服务器的请求次数,降低后端服务器的负载,提高数据的访问速度。
    优势:缓存机制可以显著提高网站的访问速度,尤其是在高并发场景下,能够有效缓解后端服务器的压力。
  4. SSL加速
    概述:Nginx支持HTTPS协议,可以通过SSL/TLS加密技术保护数据传输的安全性。同时,Nginx还提供了SSL加速功能,可以提高HTTPS访问的性能,减少SSL负载压力。
    优势:SSL加速功能使得Nginx在处理HTTPS请求时更加高效,能够为用户提供更加安全的访问体验。
  5. WebSocket支持
    概述:Nginx也支持WebSocket协议,可以用于实现实时通信应用程序。WebSocket协议允许服务器和客户端之间建立持久连接,并通过该连接进行双向通信。
    应用:WebSocket在实时通信、在线游戏、实时数据推送等领域有广泛的应用。
  6. 访问控制和安全
    概述:Nginx提供了丰富的访问控制功能,如基于IP地址的访问限制、基于用户名的认证等,可以有效保护Web应用程序和服务器的安全。
    优势:通过合理的访问控制策略,Nginx可以防止非法访问和恶意攻击,提高系统的安全性。
  7. 动静分离
    概述:为了提高网站的解析速度和降低服务器的压力,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安装和简单的轮询与负载的使用。

欢迎批评指正!!!!


在这里插入图片描述

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

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

相关文章

CSS 响应式设计(补充)——WEB开发系列36

随着移动设备的普及&#xff0c;网页设计的焦点逐渐转向了响应式设计。响应式设计不仅要求网页在各种屏幕尺寸上良好展示&#xff0c;还要适应不同设备的特性。 一、响应式设计之前的灵活布局 在响应式设计流行之前&#xff0c;网页布局通常是固定的或流动的。固定布局使用固定…

MySQL练手题--体育馆的人流量(困难)

一、准备工作 Create table If Not Exists Stadium (id int, visit_date DATE NULL, people int); Truncate table Stadium; insert into Stadium (id, visit_date, people) values (1, 2017-01-01, 10); insert into Stadium (id, visit_date, people) values (2, 2017-01-02…

MouseArea元素

常用信号 onClicked&#xff0c;鼠标点击onPressed&#xff0c;鼠标按下onReleased&#xff0c;鼠标释放 import QtQuickWindow {width: 640height: 480visible: truetitle: qsTr("Hello World")Rectangle{id:rectwidth: 100height: 100color:"red"MouseA…

视频监控平台是如何运作的?EasyCVR视频汇聚平台的高效策略与实践

随着科技的飞速发展&#xff0c;视频监控平台在社会安全、企业管理、智慧城市构建等领域发挥着越来越重要的作用。一个高效的视频监控平台&#xff0c;不仅依赖于先进的硬件设备&#xff0c;更离不开强大的视频处理技术作为支撑。这些平台集成了多种先进的视频技术&#xff0c;…

Redis集群_cluster

cluster集群 cluster翻译就是集群&#xff0c;所以cluster集群也叫做redis集群相比于哨兵模式&#xff0c;cluster集群能支持扩容&#xff0c;并且无需额外的节点来监控状态&#xff0c;所以使用这种模式集群的系统会用的更多些redis cluster采用的是去中心化网络拓扑架构&…

git push : RPC failed; HTTP 400 curl 22 The requested URL returned error: 400

git push 出现RPC failed; HTTP 400 curl 22 The requested URL returned error: 400 问题 git push Enumerating objects: 11, done. Counting objects: 100% (11/11), done. Delta compression using up to 8 threads Compressing objects: 100% (10/10), done. error: RPC …

漫画元素检测系统源码分享

漫画元素检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vis…

【开源分享】vsomeip 安装、编译、运行步骤笔记

文章目录 1. 摘要2. 安装、编译2.1 开发环境说明2.2 安装依赖2.3 获取代码2.4 编译代码2.5 安装 3. 测试验证参考 1. 摘要 本文主要描述 vsomeip 的安装、编译与运行步骤。下载源码&#xff0c;安装必要依赖&#xff0c;如Boost和CMake。通过CMake配置编译 vsomeip 库&#xf…

【C++】unordered系列

前言&#xff1a; 在C11及以后的标准中&#xff0c;unordered容器是标准模板库&#xff08;STL&#xff09;的一部分&#xff0c;提供了高效的数据结构选项&#xff0c;适用于需要快速查找和插入操作的场景。 unordered通常与关联容器一起使用&#xff0c;特别是unordered_map和…

详解HTTP/HTTPS协议

HTTP HTTP协议全名为超文本传输协议。HTTP协议是应用层协议&#xff0c;其传输层协议采用TCP协议。 请求—响应模型 HTTP协议采用请求-响应模型&#xff0c;通常由客户端发起请求由服务端完成响应。资源存储在服务端&#xff0c;客户端通过请求服务端获取资源。 认识URL 当…

01,大数据总结,zookeeper

1 &#xff0c;zookeeper &#xff1a;概述 1.1&#xff0c;zookeeper&#xff1a;作用 1 &#xff0c;大数据领域 &#xff1a;存储配置数据   例如&#xff1a;hadoop 的 ha 配置信息&#xff0c;hbase 的配置信息&#xff0c;都存储在 zookeeper 2 &#xff0c;应用领…

TDengine 与飞腾腾锐 D2000 完成兼容互认证,推动国产软硬件深度融合

在国家信息安全和自主可控技术日益受到重视的背景下&#xff0c;国产软硬件的发展已成为推动数字经济的重要力量。随着全球科技竞争加剧&#xff0c;企业在选择技术解决方案时&#xff0c;越来越倾向于采用国产产品以降低对外部技术的依赖。这一趋势不仅是为了确保数据安全与隐…

信息安全数学基础(14)欧拉函数

前言 在信息安全数学基础中&#xff0c;欧拉函数&#xff08;Eulers Totient Function&#xff09;是一个非常重要的概念&#xff0c;它与模运算、剩余类、简化剩余系以及密码学中的许多应用紧密相关。欧拉函数用符号 φ(n) 表示&#xff0c;其中 n 是一个正整数。 一、定义 欧…

模拟视频推到WVP推流列表

效果 1. wvp创建RTMP 2. 使用ffmpeg将本地的视频转为rtmp ffmpeg -re -i F:rtsp\123.mp4 -c copy -f flv rtmp://192.168.1.237:1935/cd/10001?sign=Z4Y3eYeSg

标准库标头 <bit>(C++20)学习

<bit>头文件是数值库的一部分。定义用于访问、操作和处理各个位和位序列的函数。例如&#xff0c;有函数可以旋转位、查找连续集或已清除位的数量、查看某个数是否为 2 的整数幂、查找表示数字的最小位数等。 类型 endian (C20) 指示标量类型的端序 (枚举) 函数 bit_ca…

Android权限适配

Android权限适配 动态权限 背景 从Android6.0版本开始google将权限分为普通权限和特殊权限&#xff0c;app必须在AndroidManifest.xml添加引用权限的语句。 在安装apk时安卓会将普通权限授予该app&#xff0c;但特殊权限需要运行时申请。 安卓按照权限类别分为权限组和权限…

【第36章】Spring Cloud之Seata分布式事务

文章目录 前言一、架构图1. 介绍2. 项目结构3. 功能描述 二、用例1. 准备1.1 系统表1.2 业务表1.3 初始化数据 2. 项目搭建2.1 项目结构2.2 主要依赖2.3 主要配置 三、主要业务代码1. 仓储服务1.1 controller1.2 service1.3 dao 2. 订单服务1.1 controller1.2 service1.3 dao 3…

Mac清理其他文件:释放存储空间的高效指南

每个Mac用户都可能遇到存储空间不足的问题&#xff0c;尤其是当“其他”文件积累到一定体积时。在Mac上&#xff0c;“其他”文件通常包括各种系统文件、缓存、文档以及不被归类为应用程序、照片、电影或音乐的其他类型的文件。这些文件往往不易被注意&#xff0c;但逐渐占用了…

【笔记】CCF直播:《如何在国际会议上有效交流》(2024-9-15)

目录 一、提问的勇气二、提问什么三、其他主题的报告为什么听四、会议前怎么读大量论文&#xff1f;五、workshop为什么参加&#xff1f;Poster环节&#xff1f;六、提问环节七、其他 今天听了《如何在国际会议上有效交流》的直播讲座&#xff0c;记录一些笔记。 一、提问的勇…

我又做了一个国标GB28181设备模拟器的Windows版本,让国标28181开发更简单,不用再费劲弄个摄像机来调试国标GB28181开发了

之前我搞过一个《EasyGBD国标GB28181设备端模拟器帮助测试国标GB28181平台&#xff08;EasyGBD-&#xff1e;EasyGBS&#xff09;》&#xff0c;当时&#xff0c;主要是在安卓手机上&#xff0c;用摄像机的本地摄像头来做为视频源、用摄像机的麦克风做为音频源&#xff0c;对外…