nginx-架构概览
架构概览

两种进程
nginx启动时,会生成两种类型的进程
master进程(1个),主要负责调度工作进程(加载配置、启动工作进程及非停升级)
worker进程(1个或多个),处理网络请求及响应,每个worker进程都可以同时处理数以千计的网络请求。worker进程的数量当然也不是越多越好,实际调优的时候,一般要根据cpu 的数量而定。
为什么这几个worker进程却能支撑上万甚至上十万的并发呢?
事件驱动+异步非阻塞的io模型,可以说是nginx得以获得高并发、高性能的关键因素。
模块化设计
worker
核心模块,负责维持一个运行循环(run-loop),执行网络请求处理的不同阶段的模块功能,如网络读写、存储读写、内容传输、外出过滤,以及将请求发往上游服务器等。
功能性模块

反向代理
缓存管理功能
反向代理功能。涉及到nginx最常用的负载均衡的功能。
什么是正向代理?
A 到 B:不通
A 到 C 到 B:通
B是明确的,A是无所谓的。
正向代理最大的特点是客户端非常明确要访问的服务器地址;
服务器只清楚请求来自哪个代理服务器,而不清楚来自哪个具体的客户端,屏蔽或者隐藏了真实客户端信息。
什么是反向代理?
A1 到 C 到 B1
A 2 到 C 到 B2
A是明确的,B是按规则分发的,是不明确的
反向代理,主要用于服务器集群分布式部署的情况下,反向代理隐藏了服务器的信息!********

浙公网安备 33010602011771号