Nginx超简洁知识:负载均衡-反向代理,动静分离,配置文件
首先介绍一下为什么需要nginx?
在低并发场景下(也就是用户量特别少的情况下),我们只需要部署一台服务器就能满足用户数量少的需求。
但是如果用户量逐渐增多,只有一台服务器是不够的。于是我们需要部署多台服务器。
可能有几个项目启动在不同的服务器上,当用户需要访问,我们需要一台代理服务器来处理这些请求并转发到各个服务器上。
于是就有了nginx。来当这个代理服务器。
nginx的特点:
是一个高性能HTTP和反向代理web服务器,内存少,并发能力强。
nginx的几个最重要的作用:
一、反向代理:
反向代理的意思是:用代理服务器来接收网络请求,然后把请求转发给内网中的服务器,并将从内网服务器得到的结果返回给网络请求的客户端。
正向代理和反向代理的区别:
正向代理:发生在客户端,由用户主动。比如翻墙软件,用户主动去访问代理服务器,让代理服务器去找外网资源,然后把结果返回给客户端。
反向代理:发生在服务端,用户不知道代理服务器的存在。
举个例子:
下图是前端请求地址,端口为81:
后端的地址如下,应该是http://localhost:8080/admin/employee/login
那么前端的请求的地址和后端接口地址不一致是如何请求成功的??
原理:nginx反向代理,将前端发送的请求由nginx转发到后端服务器。
下图是nginx的配置文件,它监听的是81端口,服务器名是本地(http://localhost:81)。如果匹配到api字符串(http://localhost:81/api),就转发到proxy_pass对应的地址(http://localhost:8080/admin)。如果后面还有字符串就拼接到目标地址后面(http://localhost:8080/admin/employee/login)。
二、负载均衡:
负载均衡是为了尽可能的将网络请求平均分配到各个服务器上,以提高系统的整体性能和速度。
nginx的三种负载均衡策略:轮询,加权轮询,Ip_hash。
1、轮询(默认):轮流分配
2、加权轮询:weight代表权重,默认值为1,值越大代表被分配到的请求越多。
3、Ip_hash:每个请求按访问Ip的hash结果分配,这样每一个访客就固定访问
三、动静分离:
在软件开发中,有些请求是需要后台处理的,成为动态文件,相反,不需要后台处理的称为静态文件(比如css ,js,html等文件)。
动静分离的意思是将动态请求和静态请求分离开来,动态请求由tomcat处理,静态请求由nginx处理。这样就提高了资源解析速度!
nginx的配置文件详解就去看第一篇文章。
借鉴文章:
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全-CSDN博客
Nginx快速入门-KuangStudy-文章
相关文章:

Nginx超简洁知识:负载均衡-反向代理,动静分离,配置文件
首先介绍一下为什么需要nginx? 在低并发场景下(也就是用户量特别少的情况下),我们只需要部署一台服务器就能满足用户数量少的需求。 但是如果用户量逐渐增多,只有一台服务器是不够的。于是我们需要部署多台服务器。 …...

云手机:社交平台运营的热门工具
随着互联网的飞速发展,社交平台已经成为企业推广和营销的核心渠道。传统的运营方式已经无法满足高效运营的需求,而云手机作为新兴工具,逐渐成为社交平台运营的前沿趋势。本文将深入分析云手机如何优化社交平台的运营流程,助力企业…...
iptables限速规则
环境: iptables服务器:172.16.12.33 client:192.168.1.2 1、在防火墙上配置客户端的下载速度是1M/s (1个包是1.3KB) #限速客户端每秒的下载速度是1024KB,超出限制的流量就丢弃 [rootiptables-172-16-12-…...
易泊车牌识别:海外车牌快速定制,开启智能识别新时代
在当今数字化快速发展的时代,车牌识别技术已经成为了智能交通系统中不可或缺的一部分。而在众多车牌识别解决方案中,易泊车牌识别系统以其卓越的性能和独特的优势脱颖而出,尤其是在海外车牌快速定制方面,更是展现出了强大的实力。…...
同一个交换机不同vlan的设备为什么不能通信
在同一个交换机上,不同 VLAN 的设备不能直接通信,这是因为 VLAN(虚拟局域网)通过在数据链路层(OSI 第2层)对设备进行逻辑隔离,将不同 VLAN 的设备视为属于不同的网络。具体原因如下:…...

《业务三板斧:定目标、抓过程、拿结果》读书笔记4
管理者抓技能的第二个动作是构地图 管理者如何构建能力地图? 梳流程 构建能力地图的关键是梳理业务流程,明确“要做什么”及“怎么 做”。管理者只有明晰每一项业务流程对应的策略、关键举措、风 险、工具、话术、案例等,才能将方法复制给每一…...

PRCV 2024 - Day2
主会场 —— 主旨报告 报告题目:大模型背景下的数字内容取证 讲者:谭铁牛(中科院自动化所,中国科学院院士) 图1 大模型背景下的数字内容取证 在数字化时代,随着人工智能技术的迅猛发展,尤其是深度学习的广泛应用&…...
大厂面试真题-了解云原生吗,简单说一下docker和k8s
K8s(Kubernetes)和Docker都是容器化技术中的关键组件,但它们各自扮演着不同的角色。以下是对这两者的详细解析: 一、Docker Docker是一个开源的容器化平台,它允许开发人员将应用程序及其依赖项打包为一个独立的镜像&…...
Python基础入门
目录 1. 简介 2. 安装与设置 2.1 检查是否已安装Python 2.2 使用Python解释器 2.3 使用代码编辑器 3. Python基础语法 3.1 注释 3.2 变量和数据类型 3.3 输入输出 3.4 基本运算 4. 条件语句与循环 4.1 条件判断 4.2 循环 while循环 for循环 break与continue 5.…...
深入了解路由
目录 1. 什么是路由?2. 路由与网关的关系3. 路由表4. 静态路由与动态路由5. 下一跳6. 动态路由及常用路由协议7. 路由算法解析 1. 什么是路由? 路由 是网络中将数据包从源地址传送到目标地址的过程。它涉及网络设备(如路由器)根据…...
三大编程思想(POP、OOP、AOP、FOP)及oop 五大设计原则
概述 POP:面向过程编程(Procedure Oriented Programming) OOP:面向对象编程(Object Oriented Programming) AOP:面向切面编程(Aspect Oriented Programming) FOP&#x…...
JavaWeb开发4
JS对象 Array Array对象用于定义数组 var 变量名new Array(元素列表); var 变量名[元素列表] 访问 arr[索引]值; 注意:JS中数组相对于Java中集合,数组的长度是可变的,JS是弱类型,所以可以存储任意类型…...
Git中Update和Pull的区别
在本文中,我们将介绍Git中的两个操作——”Update”和”Pull”,并解释它们之间的区别。 1、“Update”的含义和用法 “Update”是Git中用于更新本地仓库和工作区的操作。它的作用是将远程仓库中的最新变更同步到本地。当我们执行”Update”操作时&…...
物理安全概述
目录 物理安全概念物理安全威胁物理安全威胁物理安全保护物理安全分析与防护 物理安全概念 我不需要通过高深的网络技术来攻击你,直接在物理层面把你干倒,不要小瞧,其实这种攻击是最致命的,你把我的电脑给入侵了,可能…...

引领智慧文旅新纪元,开启未来旅游新境界
融合创新科技,重塑旅游体验,智慧文旅项目定义旅游新未来 在全球化的浪潮中,旅游已成为连接世界的重要纽带。智慧文旅项目,不仅仅是一次技术的革新,更是对旅游行业未来发展的一次深刻思考。信鸥科技通过运用云计算、大数…...

Qt开发技巧(十七):新窗口控件用智能指针,将一些配置类变量封装起来,Qt窗体的Z序叠放,子窗体的释放,Qt中的事件发送,Qt的全局头文件
继续讲一些Qt开发中的技巧操作: 1.新窗口控件用智能指针 通过对Qt自带Examples的源码研究你会发现,越往后的版本,越喜欢用智能指针QScopedPointer来定义对象,这样有个好处就是用的地方只管new就行,一直new下去…...
5G 现网信令参数学习(1) - MIB
MIB消息中的参数 systemFrameNumber 000101B, subCarrierSpacingCommon scs30or120, ssb-SubcarrierOffset 6, dmrs-TypeA-Position pos2, pdcch-ConfigSIB1 { controlResourceSetZero 10, searchSpaceZero 4 }, cellBarred notBarred, intraFreqReselection allowed, sp…...

stm32单片机个人学习笔记9(TIM输入捕获)
前言 本篇文章属于stm32单片机(以下简称单片机)的学习笔记,来源于B站教学视频。下面是这位up主的视频链接。本文为个人学习笔记,只能做参考,细节方面建议观看视频,肯定受益匪浅。 STM32入门教程-2023版 细…...

ubuntu 安装haproxy
####安装##### sudo apt update sudo apt install haproxy sudo haproxy -v sudo systemctl status haproxy sudo cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg-org####配置站点##### nano /etc/haproxy/haproxy.cfgfrontend www-httpbind *:5001mode httpdefault_ba…...

TF-A(Trusted Firmware-A)及其启动流程详解:以stm32MP1平台为例
0 参考资料 stm32官网 wiki https://www.trustedfirmware.org/ https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git Trusted Firmware-A documentation ARM Power State Coordination Interface SMC Calling Convention (SMCCC) Arm System Control and Management…...
PHP和Node.js哪个更爽?
先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...

屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!
5月28日,中天合创屋面分布式光伏发电项目顺利并网发电,该项目位于内蒙古自治区鄂尔多斯市乌审旗,项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站,总装机容量为9.96MWp。 项目投运后,每年可节约标煤3670…...

Python爬虫(一):爬虫伪装
一、网站防爬机制概述 在当今互联网环境中,具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类: 身份验证机制:直接将未经授权的爬虫阻挡在外反爬技术体系:通过各种技术手段增加爬虫获取数据的难度…...

vue3+vite项目中使用.env文件环境变量方法
vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量,这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...
python报错No module named ‘tensorflow.keras‘
是由于不同版本的tensorflow下的keras所在的路径不同,结合所安装的tensorflow的目录结构修改from语句即可。 原语句: from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后: from tensorflow.python.keras.lay…...

HarmonyOS运动开发:如何用mpchart绘制运动配速图表
##鸿蒙核心技术##运动开发##Sensor Service Kit(传感器服务)# 前言 在运动类应用中,运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据,如配速、距离、卡路里消耗等,用户可以更清晰…...

初探Service服务发现机制
1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能:服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源…...

Windows安装Miniconda
一、下载 https://www.anaconda.com/download/success 二、安装 三、配置镜像源 Anaconda/Miniconda pip 配置清华镜像源_anaconda配置清华源-CSDN博客 四、常用操作命令 Anaconda/Miniconda 基本操作命令_miniconda创建环境命令-CSDN博客...

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement
Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement 1. LAB环境2. L2公告策略2.1 部署Death Star2.2 访问服务2.3 部署L2公告策略2.4 服务宣告 3. 可视化 ARP 流量3.1 部署新服务3.2 准备可视化3.3 再次请求 4. 自动IPAM4.1 IPAM Pool4.2 …...

从零开始了解数据采集(二十八)——制造业数字孪生
近年来,我国的工业领域正经历一场前所未有的数字化变革,从“双碳目标”到工业互联网平台的推广,国家政策和市场需求共同推动了制造业的升级。在这场变革中,数字孪生技术成为备受关注的关键工具,它不仅让企业“看见”设…...