技术栈1:nginx基础入门

目录

1.nginx概述

2.正向代理与反向代理

3.负载均衡

4.动静分离

5.nginx反向代理配置


1.nginx概述

Nginx (engine x)是一个高性能的HTTP和反向代理Web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点开发的,第一个公开版本0.1.0发布于2004年10月4日

Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、网易、腾讯、淘宝等

Nginx专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率

2.正向代理与反向代理

正向代理(Forward Proxy)是代理服务器的一种,用于代理客户端(如电脑、手机)向外部服务器发出的请求。其主要作用是帮助客户端访问外部资源,隐藏客户端的IP地址,并可用于加速、过滤内容或实现网络访问控制。正向代理的工作原理如下:

  1. 客户端发送请求到代理服务器
  2. 代理服务器接收到请求后,代表客户端向目标服务器发出请求
  3. 目标服务器将响应返回给代理服务器
  4. 代理服务器将响应内容返回给客户端

在这种模式下,目标服务器通常不知道客户端的真实IP地址,它只知道来自代理服务器的请求。因此,正向代理常用于访问受限的资源(例如访问外网)、提高安全性、或加速网络访问。典型的应用场景包括:

  • 科学上网:正向代理服务器帮助用户访问受地理位置限制的内容
  • 缓存:将一些常用资源缓存到代理服务器,提升访问速度
  • 匿名访问:代理服务器隐藏客户端真实IP,提高隐私性

反向代理(Reverse Proxy)是一种代理服务器,位于客户端和服务器之间,用于代理客户端对服务器的请求。与正向代理不同,反向代理代理的是服务器端而不是客户端。其主要功能是隐藏服务器的真实地址,提升系统的性能、安全性和可扩展性。反向代理的工作原理如下:

  1. 客户端向反向代理服务器发送请求
  2. 反向代理服务器接收到请求后,判断或选择适当的后端服务器,将请求转发过去
  3. 后端服务器处理请求,并将响应发送回反向代理服务器
  4. 反向代理服务器将响应内容返回给客户端

在这种模式下,客户端并不知道具体是哪台服务器提供了服务,而只看到反向代理服务器的地址。反向代理服务器是代表后端服务器来应答客户端请求的。反向代理的主要应用场景包括:

  • 负载均衡:反向代理将客户端请求分配到多台服务器上,均衡各服务器的负载,提升系统的性能和处理能力
  • 安全防护:通过隐藏后端服务器的真实IP地址,反向代理可以保护内部网络免受直接的攻击
  • 缓存加速:反向代理缓存后端服务器的响应,减少重复请求带来的负担,提高访问速度
  • SSL终结:反向代理处理客户端的SSL加密请求,降低后端服务器的计算负担

3.负载均衡

普通的请求/响应模式是比较常见且成本较低的方式,但是当并发请求很多的时候,容易导致服务器过载,可以通过负载均衡技术解决,负载均衡(Load Balancing)通过合理地分配网络流量到多台服务器上,以避免某一台服务器过载,从而提高系统的响应速度、稳定性和处理能力。负载均衡的实现方式包括:

  • DNS负载均衡:通过将域名解析为多个服务器的IP地址,客户端随机选择一个IP来访问。
  • 硬件负载均衡:使用专门的负载均衡设备(如F5等),具有高性能和复杂的负载分配策略。
  • 软件负载均衡:使用软件(如Nginx、HAProxy等)在服务器集群中分配流量,灵活、可配置。

常见的负载均衡算法有:

  • 轮询:按顺序将请求依次分配给每台服务器。
  • 加权轮询:根据服务器的性能设置权重,权重越高的服务器分配到的请求越多。
  • 最少连接数:将请求分配给当前连接数最少的服务器,适合长时间连接的应用。
  • 源IP哈希:根据客户端IP地址进行哈希计算,将请求始终分配给相同的服务器。

4.动静分离

动静分离技术是一种用于优化网站性能的架构策略,将动态资源和静态资源分开处理,以提高访问效率、减轻服务器负载。动态资源通常是需要服务器实时处理、生成的内容(如用户数据查询、购物车等),而静态资源是无需修改、可以直接读取的文件(如图片、CSS、JavaScript文件等)。动静分离的主要原理和实现方式如下:

  1. 静态资源的独立存储与分发
    将静态资源(如图片、CSS、JavaScript)存储在独立的服务器上,或者直接放置到内容分发网络(CDN)中,由CDN缓存和分发。这样,用户在访问静态资源时,不需要经过主服务器,从而减少主服务器的压力,提高资源的访问速度。

  2. 动态资源由主服务器处理
    动态资源通常需要服务器实时处理,比如数据库查询、用户身份验证、个性化推荐等。这些请求仍然交给主服务器,由服务器进行计算和返回。

  3. 前端通过URL路由区分动静资源
    在前端开发中,可以通过URL路径、文件后缀等方式区分静态和动态资源。例如,动态请求路径指向主服务器,而静态资源路径指向CDN或独立的静态资源服务器。

动静分离的优势:

  1. 提升性能与访问速度
    静态资源通过CDN等加速网络分发,可以减少访问延迟,提升用户的加载速度。同时,减少主服务器的负载,使其能够更快地处理动态请求。

  2. 降低服务器负载
    静态资源由独立的服务器或CDN处理,主服务器只需处理动态请求,从而减轻了主服务器的压力,提高了系统的稳定性。

  3. 降低带宽和成本
    静态资源大部分可以缓存,一旦存储在CDN等网络中,即可减少主服务器的流量需求,有效降低带宽和运营成本。

  4. 增强扩展性
    动静资源分离后,可以分别对静态和动态部分进行扩展。例如,静态资源可以单独增加CDN节点,而动态服务器可以根据负载增加服务节点,使得系统更具弹性。

5.nginx反向代理配置

客户端发送请求,如果是api则将api后面的employee/login追加在nginx.conf文件中的proxy_pass后面,形成了真正的指定的接口地址

Day01-10-开发环境搭建_后端环境搭建_前后端联调_Nginx反向代理和负载均衡配置_哔哩哔哩_bilibili

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

自建CDN是否适合您的企业?

在信息化加速发展的今天,CDN(内容分发网络)对于优化内容传输速度、提升用户体验的重要性已不容忽视。企业在选择CDN方案时,常常面临两个选择:自建CDN或租用CDN服务。自建CDN让企业拥有高度的自主权和灵活性&#xff0c…

aws xray通过设置采样规则对请求进行过滤

参考资料 https://github.com/aws/aws-xray-sdk-pythonpython api reference,https://docs.aws.amazon.com/xray-sdk-for-python/latest/reference/node api reference,https://docs.aws.amazon.com/xray-sdk-for-nodejs/latest/reference/ 初始化环境…

特色3D打印stm32迷你8轴双核心主板

我自己设计的3D打印机主板 1. 这是一块迷你的8轴主板, 主板尺寸为100mm*75mm, 使用一个8cm静音风扇散热足够了2. 这是一个带有保护的板子, 驱动上的gpio具有过压保护功能, 能够直接抗住24V的冲击, 意味着一个驱动炸了, 板子不烧, 并且其他的驱动也没事, 主板支持自动关机3. 8…

无人机动力测试台如何快速外接第三方传感器

前言 动力测试台对于测试动力系统的拉力、扭矩、RPM 和效率至关重要。将传感器集成到您的测试中增加了另一层优化,可以将您的性能提升到一个新的水平。 在无人驾驶行业中,有充分的证据表明,从外部传感器收集数据可能具有挑战性。为了解决这…

Autosar CP Network Management模块规范导读

Network Management模块的主要功能 网络管理适配:作为通信管理器和总线特定网络管理模块之间的适配层,实现不同总线网络管理功能的统一接口,确保系统中各种网络的协同工作。协调功能 网络协调关闭:使用协调算法协调多个网络的关闭,确保它们在合适的时间同步进入睡眠模式,…

数据库系统概论(期末复习版)

(一)绪论 数据(Data):是数据库中存储的基本对象 数据的定义:描述事物的符号记录 数据的种类:文字、图形、图象、声音等 数据的特点:数据与其语义是不可分的 数据库(Database,简称DB):是长期…

【Linux】进程池实现指南:掌控并发编程的核心

文章目录 1.为什么要有进程池2.进程池的工作原理2.1 进程池的工作流程 3. 进程池的实现(重点)3.1 Channel类3.2 ProcessPool类3.2.1 创建子进程3.2.2 杀死所有进程3.2.3 其他功能 3.3 控制进程池 4. 完整代码5. 总结 🏠 大家好,我…

专业140+总分400+南京大学851信号与系统考研经验南大电子信息通信工程集成电路,真题,大纲,参考书。

经历一年的备战,顺利上岸南大,专业课851信号与系统140,总分400,数学二没有考的很好,比专业课低不少,有点遗憾,英语和政治正常发挥,总结一下自己复习经验,希望大家可以从中…

【OpenEuler】配置虚拟ip

OpenEuler系统手动配置虚ip 介绍操作方法临时生效永久生效 验证 介绍 我们知道通过keepalived服务可以为linux服务器设置虚拟ip,但是有些特殊场景下若无法安装部署keepalived服务,则需要通过手动设置的方式,配置服务器的虚拟ip。 本方案提供…

vue-echarts 动态x轴字段,可选多个公司数据,根据选择的条件动态生成echarts柱形图(或者折线图)

需求&#xff1a;月份、 公司 、显示字段、柱形图&#xff08;折线图&#xff09;&#xff0c;都为动态可选的。 &#xff08;此例子&#xff1a;模拟数据都为随机数&#xff0c;所以每次截图值都会不同&#xff09; &#xff08;Vue3 echarts 5.4.2版本&#xff09; <te…

算法每日双题精讲——滑动窗口(最大连续1的个数 III,将 x 减到 0 的最小操作数)

&#x1f31f;快来参与讨论&#x1f4ac;&#xff0c;点赞&#x1f44d;、收藏⭐、分享&#x1f4e4;&#xff0c;共创活力社区。 &#x1f31f; 别再犹豫了&#xff01;快来订阅我们的算法每日双题精讲专栏&#xff0c;一起踏上算法学习的精彩之旅吧&#xff01;&#x1f4aa;…

重磅!通过国密局技术评审的112家密评机构公示

2024年10月28日&#xff0c;国家密码管理局官方网站发布《商用密码检测机构&#xff08;商用密码应用安全性评估业务&#xff09;资质申请通过技术评审的机构名单公示》&#xff0c;依据《商用密码管理条例》、《商用密码检测机构管理办法》有关规定&#xff0c;国家密码管理局…

【Windows】CMD命令学习——系统命令

CMD&#xff08;命令提示符&#xff09;是Windows操作系统中的一个命令行解释器&#xff0c;允许用户通过输入命令来执行各种系统操作。 系统命令 systeminfo - 显示计算机的详细配置信息。 tasklist - 显示当前正在运行的进程列表。 taskkill - 终止正在运行的进程。例如&am…

题目:Wangzyy的卡牌游戏

登录 - XYOJ 思路&#xff1a; 使用动态规划&#xff0c;设dp[n]表示当前数字之和模三等于0的组合数。 状态转移方程&#xff1a;因为是模三&#xff0c;所以和的可能就只有0、1、2。等号右边的f和dp都表示当前一轮模三等于k的组合数。以第一行为例&#xff1a;等号右边表示 j转…

会议直击|美格智能受邀出席第三届无锡智能网联汽车生态大会,共筑汽车产业新质生产力

11月10日&#xff0c;2024世界物联网博览会分论坛——第三届无锡智能网联汽车生态大会在无锡举行&#xff0c;美格智能CEO杜国彬受邀出席&#xff0c;并参与“中央域控&#xff1a;重塑汽车智能架构的未来”主题圆桌论坛讨论&#xff0c;与行业伙伴共同探讨智能网联汽车产业领域…

使用HTML、CSS和JavaScript创建动态雪人和雪花效果

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 ✨特色专栏&#xff1a…

【多线程奇妙屋】你听说过设计模式吗?软件开发中可全局访问一个对象的设计模式——单例模式,工作常用, 建议收藏 ! ! !

本篇会加入个人的所谓鱼式疯言 ❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. &#x1f92d;&#x1f92d;&#x1f92d;可能说的不是那么严谨.但小编初心是能让更多人…

CTF记录

1. [SWPUCTF 2022 新生赛]android 用jadx打开&#xff0c;然后搜索NSS关键字 NSSCTF{a_simple_Android} 2. [SWPU 2024 新生引导]ez_SSTI 模板注入题目&#xff0c;直接焚靖可以秒了 填入数据 ls / 然后 cat /flag即可 获取成功 NSSCTF{2111e7ad-97c5-40d5-9a3b-a2f657bd45e8…

【C++滑动窗口 】2831. 找出最长等值子数组|1975

本文涉及的基础知识点 C算法&#xff1a;滑动窗口总结 本题其它解法 【C二分查找 滑动窗口】2831. 找出最长等值子数组|1975 LeetCode2831. 找出最长等值子数组 给你一个下标从 0 开始的整数数组 nums 和一个整数 k 。 如果子数组中所有元素都相等&#xff0c;则认为子数组…