当前位置: 首页 > news >正文

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-文章

http://www.lryc.cn/news/464222.html

相关文章:

  • 云手机:社交平台运营的热门工具
  • iptables限速规则
  • 易泊车牌识别:海外车牌快速定制,开启智能识别新时代
  • 同一个交换机不同vlan的设备为什么不能通信
  • 《业务三板斧:定目标、抓过程、拿结果》读书笔记4
  • PRCV 2024 - Day2
  • 大厂面试真题-了解云原生吗,简单说一下docker和k8s
  • Python基础入门
  • 深入了解路由
  • 三大编程思想(POP、OOP、AOP、FOP)及oop 五大设计原则
  • JavaWeb开发4
  • Git中Update和Pull的区别
  • 物理安全概述
  • 引领智慧文旅新纪元,开启未来旅游新境界
  • Qt开发技巧(十七):新窗口控件用智能指针,将一些配置类变量封装起来,Qt窗体的Z序叠放,子窗体的释放,Qt中的事件发送,Qt的全局头文件
  • 5G 现网信令参数学习(1) - MIB
  • stm32单片机个人学习笔记9(TIM输入捕获)
  • ubuntu 安装haproxy
  • TF-A(Trusted Firmware-A)及其启动流程详解:以stm32MP1平台为例
  • FL Studio 2024 发布,添加 FL Cloud 插件、AI 等功能
  • webpack实战 | 医保服务平台信息查询 | 国密SM4 | SM2 | 逆向分析
  • 脉冲扩散模型
  • blender分离含有多个动作的模型,并导出含有材质的fbx模型
  • 胤娲科技:AI大模型的隐秘战争——当“智能”成为双刃剑
  • RK平台 GPIO序号转换软件
  • UDP协议和TCP协议
  • 算法题总结(十三)—— 动态规划(上)
  • Leetcode - 周赛419
  • C# 的两个list怎么判断是否存在交集
  • 【Python】基础语法