Nginx 概述与核心概念
Nginx 概述与核心概念
学习目标
理解什么是 Nginx 以及它能做什么
了解 Nginx 的发展历史和应用场景
掌握 Nginx 的核心架构原理
理解正向代理与反向代理的区别
理论知识
什么是 Nginx?
Nginx 是一个web服务,提供用户可访问的入口,Nginx 服务运行后,可以把一些网页,图片,JSS,cs等前端文件运行起来,给予用户下载浏览。
Nginx 是一款高性能的 HTTP 和 反向代理服务器,同时可以作为邮件代理服务器和通用的 TCP/UDP 代理服务器。
开发初衷:解决 C10K 问题——如何让单台服务器同时处理1万个并发连接。
Nginx 的核心应用场景
Nginx 在实际工作中主要有以下五大应用场景:
场景一:静态资源服务器
Nginx 可以高效地提供 HTML、CSS、JavaScripts、图片、视频等静态文件的访问服务。就像图书馆的书架管理员,能够快速找到并提供你需要的书籍。
场景二:反向代理服务器
Nginx 接收用户请求后,将请求转发给后端的应用服务器(如 Tomcat、Node.js),再将结果返回给用户。用户
不知道真正处理请求的是哪台服务器。
场景三:负载均衡器
当有多台后端服务器时,Nginx 可以将用户请求智能地分配到不同服务器上,避免单台服务器压力过大。就像银
行的叫号系统,把客户分配到不同的柜台窗口。
场景四:API 网关
在微服务架构中,Nginx 可以作为统一的入口,处理身份验证、限流、路由转发等功能。
场景五:缓存服务器
Nginx 可以缓存后端服务器的响应内容,下次相同请求直接返回缓存,减轻后端压力。就像你把常用电话号码存
在手机里,不用每次都去翻通讯录。
Nginx 的架构原理
Nginx 采用了独特的“Master-Worker”架构模式,这是它能够高效处理海量并发的秘诀。
Master 进程(主进程)
Master 进程就像公司的总经理,不直接处理业务,主要职责是:
读取和验证配置文件
管理 Worker 进程(创建、终止、监控)
接收外部信号(如重启、停止命令)
平滑升级
Worker 进程(工作进程)
Worker 进程就像公司的一线员工,真正处理客户请求。每个 Worker 进程的特点是:
独立运行 ,互不干扰
采用“事件驱动”模式,单个进程可处理数千个并发连接
进程数量通常设置为 CPU 核心数
正向代理与反向代理
正向代理(Forward Proxy)
正向代理是代理客户端的。客户端知道目标服务器是谁,但需要通过代理服务器去访问。
使用场景:翻墙工具、企业内网访问外网、隐藏客户端真实 IP。
反向代理(Reverse Proxy)
反向代理是代理服务器端的。客户端不知道真正处理请求的是哪台服务器,只知道代理服务器的地址。
使用场景:负载均衡、隐藏后端服务器、SSL 终结、缓存加速。
核心区别总结:
正向代理:代理客户端,服务器不知道真正的客户端是谁
反向代理:代理服务器,客户端不知道真正的服务器是谁
正向代理:客户端 --> 代理服务器 --> ⽬标服务器(代理站在客户端这边)
反向代理:客户端 --> 代理服务器 --> 后端服务器(代理站在服务器这边)
Nginx
1.了解nginx 做什么事情的?
① 可以把网页呈现给用户访问
② 可以做内外网的访问入口
2.Nginx 的特性
① 处理静态任务
② 动态任务会交给后端处理,后端处理完成后,把结果返回给nginx
然后nginx 通知给用户
③ Nginx的并发处理能力比较强(相对于其他同类型产品而言)
最多 一台nginx服务器可以处理20w的并发压力,
④ 企业使用Nginx 比例大概有60%以上
3.了解Nginx 的结构
Nginx 配置文件的组成部分,能够去修改调整Nignx一些配置文件
管理和使用Nginx的一些命令
Nginx 的工作方式:
① 开启Nginx后,会生成一个nginx-master的主进程
主进程保证服务存活,同时会打开并监听本地网卡的80端口
一旦捕捉到有客户端访问本地IP:80端口后,ng-master会创建一个子进程:
nginx-worker 去处理这个用户请求
② nginx-worker 会先和客户端建立三次握手的连接通道
我们可以使用netstat -natp | grep 80 查看到连接信息
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 17568/nginx: master
tcp 0 0 192.168.110.128:80 192.168.110.1:52840 ESTABLISHED 17569/nginx: worker
tcp 0 0 192.168.110.128:80 192.168.110.1:52839 ESTABLISHED 17569/nginx: worker
③ 随后,客户端可以继续发送请求给服务端(请求下载页面资源),
nginx-worker 会继续根据配置文件的标准进行处理用户请求
更多推荐




所有评论(0)