【反向代理服务器】Nginx的基础架构

nginx signal 之 stop <br />        当运行的nginx程序收到了 stop信号后是如何处理,使整个程序停下来的呢? 总结了下,主要有下面几个步骤:<br /> <br />      一 master进程收到 stop 信号后,把 ngx_terminate 设置为1 <br /> <br />      二 master看到ngx_terminate 为1 ,通过channel向子进程发送 NGX_CMD_TERMINATE 命令<br /> <br />      三 子进程收到命令后,把  ngx_termi 阅读详情

在进入Nginx的结构分析之前,首先介绍一下一个良好的Web服务器需要考虑哪些因素。这样更加有利于我们深入理解Nginx优秀的架构设计。

1 Web服务器设计中的关键约束

1.1 性能

1 网络性能

是指在不同负载下,Web服务在网络通信上的吞吐量。网络性能受制于带宽(指在特定的网络连接上可以达到的最大吞吐量)。

2 单次请求的延迟性

针对一个用户而言,指服务器初次接收到一个用户请求直至返回响应之间持续的时间。

3 网络效率

使用的网络效率,常用的提高网络效率的方法包括使用长连接、使用压缩算法。

1.2 可伸缩性

是指架构可以通过添加组件来提升服务,或者允许组件之间具有交互功能。一般可以通过简化组件、降低组件之间的耦合度、将服务分散到许多组件等方法来改善可伸缩性。

1.3 简单性

是指组件的简单程度。一般我们采用分离关注点原则来设计组件,对于整体结构来说通常使用通用性原则。

1.4 可修改性

简单来讲,可修改性就是在当前架构下对于系统功能做出修改的难易程度。

1 可进化性

表示在修改一个组件时对其他组件产生负面影响的程度。

2 可扩展性

表示将一个新的功能添加到系统中且不影响其他功能的能力。

3 可定制性

是指可以临时性的重新规定一个组件或其他结构元素的特性,从而提供一种常规服务的能力。

4 可配置性

在Web服务部署后,通过对服务提供的配置文件进行修改来提供不同的功能。

5 可重用性

指的是一个应用中的功能组件在不被修改的情况下,可以在其他应用中重用程度。

1.5 可见性

在Web服务器中,可见性通常是指一些关键组件的运行情况可以被监控的程度,如服务中正在交互的网络连接数、缓存的使用情况等。

1.6 可移植性

指服务可以跨平台运行。

1.7 可靠性

可靠性可以看做是在服务出现部分故障时,一个架构容易受到系统层面故障影响的程度。

2 Nginx的架构设计

Nginx的设计格外重视以上7个关键点,Nginx采用了优秀的模块化设计思想。

2.1 模块化设计

Nginx底层有个基本的接口ngx_module_t,所有的模块都遵循着这个接口的规范。ngx_module_t接口有一个type成员,它指明了Nginx允许在设计
模块时定义模块类型。Nginx最底层的模块时配置类型模块(即NGX_CONF_MODULE),它指导着所有模块以配置项为核心来提供功能。Nginx包括五大类型的模块:核心模块、配置模块、事件模块、HTTP模块、mail模块。

2.2 事件驱动架构

所谓事件驱动架构是指由一些事件发生源来产生事件,由一个或多个事件收集器来收集、分发事件(收集、分发事件由Nginx的事件模块完成),然后许多事件处理器会注册自己感兴趣的事件,同时会“消费”这些事件。

服务器区别
传统的Apache使用进程或线程作为事件消费者
Nginx事件消费者只能是某个模块,只有事件收集、分发器才能占用进程资源

Nginx处理事件的简单模型如下图所示:图中列出的5个不同的事件,在事件收集、分发者进程的一次处理过程中,这5个事件按照顺序被收集后,将开始使用当前进程分发事件,从而调用相应的事件消费者模块来处理事件。
在这里插入图片描述

2.3 请求的多阶段异步处理

正因Nginx的事件驱动架构,所以才让请求的多阶段异步处理成为现实。

请求的多阶段异步处理就是把一个请求的处理过程按照事件的触发方式划分为多个阶段,每个阶段都可以由事件收集、分发器来触发。

2.4 管理进程、多工作进程设计

Nginx采用一个master管理进程、多个worker工作进程的设计方式,如下图所示。
在这里插入图片描述
该设计的优点在于:多核系统的并发处理能力;多个worker工作进程间通过进程通信来实现负载均衡,也就是说一个请求到来时更容易被分配到负载较轻的worker工作进程中处理、管理进程会负责监控工作进程的状态并负责管理其行为。

2.5 内存池的设计

为了避免出现内存碎片、减少向操作系统申请内存的次数,Nginx设计了简单的内存池:把多次向系统申请内存的操作整合成一次,这大大减少了CPU资源的消耗,同时减少了内存碎片。

3 Nginx启动时框架的处理流程

首先启动流程见如下的流程图:
在这里插入图片描述
接下来对关键步骤进行说明:
1、上图第1步,Nginx是以配置文件作为核心提供服务的,所以第1步最主要的就是确定配置文件nginx.conf的路径。
2、上图第2步,Nginx在不重启服务升级时(也就是所谓的平滑升级),它会不重启master进程而启动新版本的Nginx程序。此时,旧版本的master进程会通过execve系统调用,先fork出子进程再调用exec来运行新程序,进而启动新版本的master进程。
3、上图第3步,调用所有核心模块的create_conf方法,也就是说需要所有的核心模块开始构造用于存储配置项的结构体。
4、上图第4步,遍历nginx.conf中的所有配置项并调用配置模块提供的解析配置项方法。
5、上图第5步,调用所有NGINX_CORE_MODULE核心模块的init_conf方法,让所有核心模块在解析完配置项后可以做综合性处理。
6、上图第9步,如果nginx.conf中配置为单进程工作模式,这时将会调用ngx_single_process_cycle方法进入单进程工作模式。
7、上图第10步,在单进程工作模式下,调用所有模块的init_process方法,单进程工作模式的启动工作至此全部完成,将进入正常的工作模式。
8、上图第11~16步,进入master、worker工作模式。在启动worker子进程、cache manage子进程、cache loader子进程后就开始进入工作状态。

4 worker进程是如何工作的

首先列出Nginx中的信号及对应的全局标志位变量的含义:

信号对应进程中的全局标志位变量意义
QUITngx_quit优雅的关闭进程
TERM或INTngx_terminate强制关闭进程
USR1ngx_reopen重新打开所有文件
WINCHngx_debug_quit暂无实际意义

另外还有ngx_exiting标志位,仅由方法ngx_worker_process_cycle在退出时作为标志位使用。

worker进程工作流程如下:

  1. 首先检查ngx_exiting标志位,如果为1则进程退出,否则开始检查并分发、处理事件;
  2. 然后判断ngx_terminate标志位是否为1,若是则强制结束进程,否则判断ngx_quit位是否为1,若是则优雅的关闭进程,同时关闭所有监听句柄并设置ngx_exiting标志,否则进入下一步;
  3. 其次,判断ngx_reopen标志位是否为1,是的话重新打开所有文件,回到第一步继续判断ngx_exiting。

5 master进程是如何工作的

首先需要明确master进程是不需要处理网络事件的,它无需负责业务的执行,只会通过管理worker子进程来实现重启服务、平滑升级等功能。同样的列出master进程中各种标志位的含义:

信号对应进程中的全局标志位变量意义
QUITngx_quit优雅的关闭整个服务
TERM或INTngx_terminate强制关闭整个服务
USR1ngx_reopen重新打开服务中的所有文件
WINCHngx_noaccept所有子进程不再接受处理新的连接,相对于对所有子进程发送QUIT信号量
USR2ngx_change_binary平滑升级到新版本的Nginx程序
HUPngx_reconfigure重读配置文件并使服务对新配置项生效
CHLDngx_reap有子进程意外结束,这时需要监控所有的子进程,也就是ngx_reap_children方法所负责的工作

那么master进程如何启动一个子进程呢?

很简单,通过fork系统调用即可实现。然后会从ngx_processes数组中选择一个还未使用的ngx_process_t元素存储这个子进程的相关信息。

既然ngx_processes数组保存了所有子进程的信息,那么这些进程的状态是如何改变的呢?

依靠信号!例如当若干个子进程意外退出时,master父进程会接收到Linux内核发来的CHLD信号,由于Nginx服务器的ngx_signal_handler方法做出处理:将sig_reap标志位置为1,调用ngx_process_get_status方法修改ngx_processes数组中所有子进程的状态(通过waitpid系统调用得到意外结束的子进程的ID,然后遍历ngx_processes数组找到该子进程ID对应的ngx_process_t结构体,将其exited标志位置1)。

master进程的工作流程如下:

  1. 首先判断ngx_reap标志位。如果为1则表示监控所有的子进程:即通过ngx_reap_children方法遍历ngx_processes数组,检查每个子进程的状态;如果为0则进入下一步;
  2. 然后判断live标志位。如果live标志位为0(所有子进程已经退出)、ngx_terminate标志位为1或者ngx_quit标志位为1时,则开始退出master进程,同时会删除存储进程号的pid文件、关闭进程中打开的监听接口、销毁内存池;否则进入下一步;
  3. 其次判断ngx_terminate标志位。如果为1则向所有子进程发送信号TERM,强制子进程退出,然后跳到第1步挂起进程等待再次激活信号;否则执行下一步;
  4. 判断ngx_quit标志位。如果为1,则向所有子进程发送QUIT信号优雅的退出服务,同时关闭所有监听的接口,同样的跳到第1步挂起进程等待信号激活。否则执行下一步。
  5. 判断ngx_reconfigure标志位。如果为1则表示需要重新读取配置文件。注意Nginx不会让原先的worker等子进程重新读取,它的策略是重新初始化结构体ngx_cycle_t,让它来读取新的配置文件并拉起新的worker子进程,销毁旧有进程。如果为0则进入下一步;
  6. 检查ngx_restart标志位,如果为1则拉起新的worker子进程,同时将ngx_restart置0,然后根据缓存模块情况决策是启动cache manager还是cache loader进程,并将live标志位置1。否则进入下一步。
  7. 检查ngx_reopen标志位。如果为1则重新打开所有文件同时将该位置0,并向所有子进程发送USR1信号,通知它们重新打开所有文件。否则进入下一步;
  8. 接着检查ngx_change_binary标志位。如果为1则表示需要平滑升级Nginx,这时将调用ngx_exec_new_binary方法用新的子进程启动新版本的Nginx程序,同时将ngx_change_binary标志位置0;
  9. 最后需要检查的是ngx_noaccept标志位。如果为1则向所有的子进程发送QUIT信号,要求它们优雅的关闭服务同时将ngx_noaccept位置0,ngx_noaccepting置1(表示停止接收新的连接)、如果为0则继续第1步进行下一个循环。

6 小结

本机侧重介绍了Nginx的基础架构,介绍了Nginx框架如何启动、初始化、加载各Nginx模块的代码,以及worker进程和master进程如何在工作中循环运行。事实上这些机制都是基于Nginx的核心数据结构——ngx_cycle_t。

nginx正反向代理概念和优点简介以及nginx反向代理配置 nginx正反向代理概念和优点简介以及nginx反向代理配置 一.nginx正反向代理简介 1.正向代理 2.反向代理 二.nginx正反向代理的优点 1.正向代理 2.反向代理 三.nginx反向代理配置 1.基于源码安装的nginx环境下修改nginx.conf 2.修改hosts文件并测试 3.设备2和设备3上查看日志,可以访问来源都是代理服务器(2.190)不会显示真实客户端地址 阅读详情

相关推荐

Nginx作为反向代理服务器

大家好,我是你们的 Nginx 小助手,今天咱们要一起学习如何把 Nginx 配置成一个高效的反向代理服务器。咱们会从零开始,一步一步地搭建并配置 Nginx,保证每个人都能轻松上手。准备好笔记本,咱们开始吧!首先,咱们得知道反向代理是什么意思。简单来说,反向代理是一种位于客户端和服务器之间的中间件,它接收客户端的请求,然后将这些请求转发给后端服务器。客户端不会直接与后端服务器通信,而是通过反向代理服务器来完成。负载均衡:可以将请求分配给不同的后端服务器。安全性。

java专栏 5891

Nginx学习(16)—worker进程循环工作

worker进程循环工作 Nginx采用信号的IPC方式对worker进程进行控制,其中的ngx_terminate、ngx_quit、ngx_repon都将由在ngx_signal_handler方法根据收到的信号进行处理。而信号的初始化都是在main()中的ngx_init_signals()中完成的。下面看源码吧: [cpp] view plaincopy

Sunface撩技术 2585

nginx反向代理以及nginx反向代理三种方式

nginx反向代理的三种模式分别是:正向代理(Forward Proxy)反向代理(reverse proxy)透明代理,正向代理(forward)是一个位于客户端 【用户A】和原始服务器(origin server)【服务器B】之间的服务器【代理服务器Z】,为了从原始服务器取得内容,用户A向代理服务器Z发送一个请求并指定目标(服务器B),然后代理服务器Z向服务器B转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理

计算机毕业论文源码,学生个人网页制作html源码。贴近用户做网络推广和互联网优化。 7420

Nginx基础架构

Nginx基础架构Web服务器设计中的关键约束1.性能2.可伸缩性3.简单性4.可修改性5.可见性6.可移植性7.可靠性Nginx的架构设计1 优秀的模块化设计2 事件驱动架构3 请求的多阶段异步处理4 管理进程、多工作进程设计5 内存池的设计 Web服务器设计中的关键约束 1.性能 性能是Nginx的根本,如果性能无法超越Apache,那么它也就没有存在的意义了。这里 所说的性能主体是Web服务器,因此,性能这个概念主要是从网络角度出发的,它包含以下 3个概念。 网络性能 这里的网络性能不是针对一个用户

zhanglu0302的博客 276

阿里数据集(cluster-trace-v2018)提取

阿里数据集提取 本数据集采用的是阿里集群数据集-2018 详情可参考该文献:https://blog.youkuaiyun.com/weixin_41988248/article/details/92431588 CSV数据集提取操作见:https://blog.youkuaiyun.com/lucky_shi/article/details/105321149 关于read_csv包的用法见:https://blog.youkuaiyun.com/dc19971118/article/details/107721340 从阿里数据集来看,我

5-StarrySky的博客 3342

Centos7网络配置(设置固定ip)

刚安装完系统,有的人尤其没有勾选自动网络配置的情况下,是访问不了外网的,本机也连不通虚拟机。或者现在有的是动态ip,几次之后启动ip地址就变了,会导致其他软件或程序之前连接配置要重新更改,很麻烦,下面讲解一下如何配置网络,如何设置成固定ip。

个人笔记git:https://gitee.com/tlangp/note.git 8054

Nginx-反向代理详解

Nginx 是一个高性能的开源 Web 服务器和反向代理服务器。它具有轻量级、高并发、低内存消耗等特点,被广泛用于搭建静态资源服务器、负载均衡、反向代理等场景。本文介绍nginx的反向代理,其他内容敬请期待!反向代理是一种代理服务器的配置模式,它代表服务器向客户端提供服务。客户端发送请求到反向代理服务器,然后反向代理服务器将请求转发到后端的真实服务器上,并将响应返回给客户端。简单理解为用户直接访问反向代理服务器就可以获得目标服务器的资源。这一过程叫反向代理​。

Wzill 8万+

最新小旋风蜘蛛池X6.21解密版+绕过授权带教程

介绍: 1.站群管理:用你的域名在这里添加网站 2.站点优化:站点互链,内容优化 2.系统设置:开启蜘蛛池 3.采集管理(可开启自动采集) 4.缓存设置:推荐开启tkd缓存 其他的用户根据自己的实际情况后台进行配置,通常以下: 1.后台首页(这里显示系统的大致概况) 2.系统设置:蜘蛛池的基本设置(访问开关、跳转、统计等等) 3.站群管理: 1.网站管理(用你的域名在这里添加网站) 2.模型管理(可构建不同类型站点:电影、文章、论坛等等) 3.TKDB调用模板(即:title、keywords、descri

百度SEO程序下载 2937

Nginx配置——反向代理

Nginx

scorpio的博客 31万+

量化策略缺数据?一份QMT/PTrade免费数据清单与特殊数据源QtFactor评测

本文为量化策略开发者提供QMT和PTrade平台的免费数据资源清单,并深度评测QtFactor在补充特色数据方面的价值。涵盖Tick级数据、Level2行情、资金流向等关键信息,帮助开发者在预算有限的情况下构建高效数据解决方案,特别适合打板策略和日内回转交易。

weixin_29058331的博客 415

29、集成电路测试技术解析

本文深入解析了集成电路测试技术,涵盖定制电路测试资源与策略、混合模拟/数字电路测试方法、数字测试模式生成难点与解决方案,以及可控性和可观测性的核心概念。同时详细讨论了固定故障、桥接故障和开路故障等主要故障模型及其检测方法。在测试技术的综合应用与优化方面,提出了合理配置测试资源、优化测试模式和设计测试流程的策略。最后展望了测试技术的发展趋势,包括集成化测试、自动化测试和智能化测试。通过全面掌握这些测试技术,可以有效提高集成电路的质量和可靠性,推动集成电路产业的发展。

work3的博客 205

Nginx搭建反向代理服务器

前面学了web资源服务器的搭建,这篇博文就总结一下如何搭建反向代理服务器。 为什么需要反向代理 反向代理是实现负载均衡的一种方法。假设,很多人同时对订单进行支付,此时,用于支付服务的上游服务器挂掉了,用户就没有办法完成支付服务。用户因为体验感不好的原因,就会选择别的电商平台了。 此时,如果使用Nginx做反向代理,实现水平扩展。然后缓存所有的支付请求,接着使用负载均衡算法,分别将请求转发到正常的服...

清风一阵吹我心 9844

一文快速教你如何下载国自然模版

5. 成功进入“相关文件查看”页面后,点击左侧的“项目申请文件“,如果你此次申请的是“面上项目”,选择对应的下拉框,找到对应的模版下载即可。6. 🫑们发现,在当前页面点击“青年科学基金项目”,左侧出现的是“原国家杰出青年科学基金项目”。7. 进入下一页后,点击“青年科学基金项目”,便可以在右侧找到🫑们要找的模版啦。2. 成功登陆后,点击1处的“首页”,在首页界面,再点击2处的“项目批准”。8. 点击上图3处的“文件详情”,就可以找到可以下载的模版啦(如下图)。3. 从“项目批准”进入后,点击“管理”。

薰珞婷紫小亭子的博客 2399

使用Nginx实现反向代理

一、代理服务器 1、什么是代理服务器 代理服务器,客户机在发送请求时,不会直接发送给目的主机,而是先发送给代理服务器,代理服务接受客户机请求之后,再向主机发出,并接收目的主机返回的数据,存放在代理服务器的硬盘中,再发送给客户机。 2、为什么要使用代理服务器 1)提高访问速度     由于目标主机返回的数据会存放在代理服务器的硬盘中,因此下一次客户再访问相同的站点数据时,会直接从代

Think In JAVA—Max 3万+

【HEC】HECRAS中的降雨边界

网格降雨可能是城市地区建模的一个好选择。这是因为传统的一维(1D)建模并不能完全捕捉城市地区通常出现的复杂流动模式。使用网格降雨建模方法在构建包含多个未定义流动路径的模型时也非常有用。对于流量分支非常复杂的水道,设定边界条件可能会很困难。 HECRAS提供两种降雨边界添加的方法 - 在指定SA/2D FLOW AREA添加降雨边界 - 在hec-ras 6.0以上版本中 “气象数据” 的选项卡,可以添加具有空间变化的降水量、蒸散量和风。 两种方法只能选择一种,以下分别介绍

```On Earth, Be Water, By Coding``` 1398

PLC框架-1.3- 汇川PN伺服(3号报文)

本文以汇川IS620F伺服为例,详细介绍了FB_Servo_ToAxis功能块的应用方法。该功能块封装了MC_Home等轴控指令,实现使能、定位、点动、速度模式及回零等功能,支持转矩限制与显示,并具备行程统计和HMI单位自动切换特性。文章从硬件配置(PN网络连接、报文选择)、参数设置(控制模式、电子齿轮比),到软件实现(功能块调用、手动/自动控制逻辑)进行了系统说明,重点展示了绝对/相对定位、速度模式等典型应用场景的程序编写方法,为汇川伺服在Profinet网络下的工程应用提供了完整解决方案。

qq_34047402的博客 756

反向代理服务器

反向代理及Nginx示例1 反向代理的概念反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。通常的代理服务器,只用于代理内部网络对Internet外部网络的连接请求,客户机必须指定代理服务器,并将本来

记录、分享 4345

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

【Nginx三】——Nginx实现反向代理

本篇博客主要介绍Nginx如何实现反向代理,会进行介绍什么是反向代理,以及进行实例实现反向代理。不难看出反向代理对于客户端来说不知道目的服务器,客户端只知道请求代理服务器能够获取到需要的资源。而代理服务器可以通过相应的配置拦截前往我们后端服务器的客户端的请求,通过这样做,代理服务器可以保护目的服务器的身份并作为对安全攻击的额外防御。

理想主义的花最终会盛开在浪漫主义的土壤里,我的热情永远不会熄灭在现实的平凡之中,我们终将上岸,阳光万里。 2597

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

nginx反向代理

Nginx配置详解 nginx概述 nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器;同时也是一个IMAP、POP3、SMTP代理服务器;nginx可以作为一个HTTP服务器进行网站的发布处理,另外nginx可以作为反向代理进行负载均衡的实现。 这里主要通过三个方面简单介绍nginx 反向代理 负载均衡 nginx特点 1. 反向代理 关于代理 说到代理,首先...

后端菜鸡 12万+

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Nginx HTTP和反向代理服务器

Nginx(engine x) 是一个高性能的HTTP和反向代理web服务器。2、什么是代理服务器:代理服务器是介于客户端和Web服务器之间的另一台服务器,有了它之后,浏览器不是直接到Web服务器去取回网页信息,而是通过向代理服务器发送请求,信号会先送到代理服务器,由代理服务器来取回浏览器所需要的信息并传送给你的浏览器。一个完整的代理请求过程为:客户端首先与代理服务器创建连接,然后根据代理服务器所使用的代理协议,请求对目标服务器创建连接、或则获得目标服务器的指定资源。Web代理服务器是网络的中间实体。

qq_52093708的博客 2181

后端面试必备:使用反向代理服务器的优点及Nginx实现方法

反向代理(Reverse Proxy)是一种服务器架构模式,它位于客户端和实际服务器之间,接收客户端的请求并将其转发到适当的后端服务器,然后将响应返回给客户端。与正向代理不同,反向代理对客户端是透明的,客户端无需任何特殊配置。

qq_58299462的博客 1084

Python Nginx 作为反向代理服务器的核心功能解析

Nginx 作为反向代理服务器具有诸多优势,无论是负载均衡、缓存管理还是SSL加密,都能极大地增强 Web 应用的可靠性和性能。同时,通过与 Python 应用程序的无缝集成,Nginx 成为了构建高效、可扩展 Web 系统的重要工具之一。希望本文能帮助您更好地理解 Nginx 的核心功能及其在实际项目中的应用场景。如果您有更多问题或需要进一步的帮助,请随时联系我!```

2501_91229492的博客 1259

为什么称nginx为反向代理

  久闻nginx的大名,却一直没有时间尝试,以前做完项目都是npm run build把打包生成的dist文件交给“运维人员”就完事了。今天有时间,来把玩一下nginx。   本文的参考链接:https://www.cnblogs.com/loong-hon/p/9060515.html   关于nginx的安装及配置可以参考上面的链接,说实话我自己还没看,本文只来探讨一个问题,就是ngin...

我不是水哥 3975

3.nginx学习笔记:nginx配置反向代理服务器

nginx配置反向代理服务器正向代理、反向代理1.正向代理一般情况下,如果没有特殊的说明,我们认为的代理就是正向代理,那么什么是正向代理。如果有一个客户端A想要去访问服务器B,在他们的之间增加代理服务器C,此时正向代理就是客户端A向代理服务器C发送请求要访问服务器B里的内容,则代理服务器C代替客户端访问服务器B,然后把请求的结果返回给相应的客户端。如下图所示:2.反向代理反向代理对于客户端来说丝毫感

linux_player_c(系统&开发) 1389
上一篇: 【操作系统】死锁
下一篇: 【搞定面试官】系列:Redis基础
少侠露飞
博客等级 码龄9年 214粉丝 117原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值