Skip to content

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)⭐⭐⭐⭐
07location 匹配规则=^~~~*、前缀,到底谁优先⭐⭐⭐⭐
08HTTPS 配置证书、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:它到底是什么