主题
Nginx 从 0 到 1 · 学习总览
一句话开篇:Nginx 就像写字楼前台 + 大堂经理 + 物流仓管三合一——它把外面的访客(HTTP 请求)按规矩分流到楼里各个工位(后端服务),还顺手帮你做"安检(HTTPS)、行李寄存(缓存)、人多排队(限流)"。
这套笔记面向完全没碰过服务器的小白,把 Nginx 的核心能力拆成 10 个由浅入深的章节,每章配:
- 🌟 生活类比 — 用奶茶店、餐厅、快递分拣中心讲清概念
- 📚 知识点 — 从语法到原理,逐层深入
- 🎬 HTML Demo — 在浏览器里就能跑的可视化演示
- 🛠️ 实战代码 — 可以直接
docker run起来的nginx.conf - 🎤 面试问题 — 大厂前后端高频题(章末 + 总集
qa.md)
1. 为什么前端 / 后端都要会 Nginx?
┌───────────────────────────────────────────────────────────┐
│ 浏览器 ─┐ │
│ │ │
│ App ─┼─► Nginx ─┬─► 你的 React/Vue dist 静态文件 │
│ │ (网关) ├─► Node / Java / Go 后端 API │
│ 小程序 ─┘ ├─► WebSocket 服务 │
│ └─► CDN 回源 │
└───────────────────────────────────────────────────────────┘前端工程师:上线后 刷新页面 404、接口跨域、资源不缓存 这些天坑全在 Nginx 配置里。 后端工程师:网关层限流、灰度、负载均衡、SSL 卸载,第一道防线就是它。 运维 / SRE:Nginx 是机房和云上最常见的"瑞士军刀",懂它 = 懂 80% 的入口流量。
不夸张地说:只要有网站存在,就有 Nginx 在干活。Netflix、GitHub、淘宝、微信公众号、B 站……全都跑在 Nginx 或 Nginx 衍生品(OpenResty / Tengine / APISIX)上。
2. 学习路线图
┌─────────────────────────────────────────────────────────────┐
│ Stage 1 · 入门:你以为的 web 服务器 │
│ 01 介绍 02 安装 03 配置文件结构 │
│ │
│ Stage 2 · 上手:当个静态文件服务员 │
│ 04 静态资源 / SPA fallback │
│ │
│ Stage 3 · 进阶:网关时代的核心能力 │
│ 05 反向代理 06 负载均衡 07 location 匹配规则 │
│ │
│ Stage 4 · 生产:真实工程必须懂 │
│ 08 HTTPS 09 缓存与压缩 │
│ │
│ Stage 5 · 实战 + 面试 │
│ 10 部署 SPA + API 网关 全套 │
│ QA 高频面试题 │
└─────────────────────────────────────────────────────────────┘推荐顺序:第一遍按章节顺序通读 → 第二遍直接做实战章节(10)+ 面试题(qa.md)。
3. 章节清单
| # | 章节 | 一句话讲透 | 必备程度 |
|---|---|---|---|
| 01 | 认识 Nginx | 它到底是什么、能干嘛、怎么火起来的 | ⭐⭐⭐⭐⭐ |
| 02 | 安装与第一次启动 | apt / yum / docker / 编译,5 分钟跑起来 | ⭐⭐⭐⭐⭐ |
| 03 | 配置文件结构 | main / events / http / server / location 五层洋葱 | ⭐⭐⭐⭐⭐ |
| 04 | 静态文件服务 | 部署 HTML/JS/CSS、SPA history fallback、目录索引 | ⭐⭐⭐⭐⭐ |
| 05 | 反向代理 | 前端调 /api 怎么转发到后端:原理 + 全套 header | ⭐⭐⭐⭐⭐ |
| 06 | 负载均衡 | 4 种主流算法(轮询/加权/IP-hash/least_conn) | ⭐⭐⭐⭐ |
| 07 | location 匹配规则 | =、^~、~、~*、前缀,到底谁优先 | ⭐⭐⭐⭐ |
| 08 | HTTPS 配置 | 证书、HTTP/2、HSTS、Let's Encrypt 自动续签 | ⭐⭐⭐⭐ |
| 09 | 缓存与压缩 | gzip / brotli / proxy_cache,让网站快 5 倍 | ⭐⭐⭐⭐ |
| 10 | 实战:SPA + API 网关 | 一份生产可用的 nginx.conf,端到端讲解 | ⭐⭐⭐⭐⭐ |
| QA | 高频面试题 | 30+ 真题 + 详细参考答案 | ⭐⭐⭐⭐⭐ |
4. 学完之后你能做什么
- ✅ 部署一个个人博客 / Vue / React 项目到自己的服务器
- ✅ 解决"刷新页面 404"、"接口跨域"、"图片防盗链"等常见线上问题
- ✅ 看懂大厂的 nginx.conf,并能改、能加东西
- ✅ 在面试里把"反向代理 vs 正向代理"、"location 匹配优先级"讲得明明白白
- ✅ 配合 Docker / Kubernetes 把一个完整的 Web 服务跑起来
5. 用什么环境跟着学?
最低成本(推荐):装 Docker,每章一句 docker run 就能起一个干净的 Nginx:
bash
docker run --name nginx-learn \
-p 8080:80 \
-v $PWD/nginx.conf:/etc/nginx/nginx.conf:ro \
-v $PWD/html:/usr/share/nginx/html:ro \
-d nginx:1.25-alpine详细安装方式见 02 章 · 安装与第一次启动。
6. 一句话总结这套笔记
从"前端项目跑不起来"到"能在面试白板上画完一个生产级 Nginx 网关",这 10 章 + 30 道题就是路。
下一步 → 01 · 认识 Nginx:它到底是什么