很多人对 Nginx 的认知停在「装上、改改 root、reload 一下」。真到了线上,问题就来了:同一个端口要按域名分给不同后端,怎么配?静态资源和动态接口混在一起,缓存规则怎么写才不互相打架?后端某台机器挂了,Nginx 该在多少秒内把它摘掉?这些不是背几条指令能解决的,考的是你对请求从进来到出去整条链路的理解。
这 20 讲围绕的就是这些「真会被问到、真会踩坑」的配置场景。它不铺开讲 Nginx 源码或者模块开发,而是把 Web 应用上线时反复出现的配置需求拆成一个个具体场景来练。如果你正在补中间件这一块,或者面试被 location 匹配优先级、反向代理超时参数问住过,这份内容对得上你的缺口。
先确认自己缺的是哪一块
Nginx 的知识缺口通常分三层,对号入座比盲目从头看效率高得多。
- 第一层是语法与匹配:location 的
=、~、~*、^~到底谁先谁后,rewrite 和 return 什么时候用它、结果差在哪。这一层不清楚,后面所有配置都是碰运气。 - 第二层是转发与负载:proxy_pass 后面带不带斜杠、路径怎么拼接、upstream 里几种调度策略和健康检查怎么设、超时三兄弟(connect、send、read)分别管什么。
- 第三层是工程化:多站点怎么组织配置文件、日志怎么切分和定位问题、HTTPS 证书怎么上、限流和跨域这类横切需求放哪。
这份课程的场景基本落在这三层里,偏第二、第三层。第一层如果完全空白,建议先花点时间把 location 匹配和 rewrite 搞明白再进来,否则跟练会有点吃力。
它练的是「手上有活」,不是「知道有这回事」
配置类内容最容易变成看一遍就忘。判断一份材料有没有用,标准很简单:它有没有逼你动手改、动手验证。这里的场景大多需要你自己起服务、改配置、reload、再用 curl 或者浏览器看结果,重点在于观察「改之前和改之后请求去了哪、返回了什么状态码」。
比如反向代理这一块,光记住 proxy_set_header 有哪些参数没用,你得实际对比一下不带 Host 头转发时后端收到的是什么,再想想为什么很多应用会因此拿不到正确域名。又比如负载均衡,把一台后端停掉,看 Nginx 多久才开始把流量给另一台——这个体感比背参数有用得多。
配套练习建议这么用
每个场景跟完之后,别只满足于「配置跑通了」。可以多做两件事:一是故意写错,比如把 location 的优先级写反、把超时设成 0,看报什么错、日志里留下什么线索,排错能力就是这么攒的;二是把当天涉及的关键指令整理成一张自己的对照表,写清楚「什么需求 → 用哪个指令 → 注意什么」,面试前翻这张表比翻文档快。
如果时间允许,把这些零散场景串成一个小项目:一台 Nginx 前面挂两个后端应用,配好域名分流、静态资源缓存、HTTPS 和基础限流。能独立把这个跑起来并解释清楚每条配置为什么这么写,这一块基本就扎实了。
看完应能回答的几个问题
- 一个请求进来,Nginx 按什么顺序决定用哪个 location?
^~和~同时命中时谁生效? - proxy_pass 结尾带斜杠和不带,转发出去的路径差在哪?
- 后端响应慢导致 502/504,应该先看哪个超时参数?
- upstream 里某台机器不可用,默认是怎么被判定和摘除的?
- 静态资源和接口分别要做缓存时,缓存头冲突了怎么办?
- 线上某个域名 404,从 Nginx 日志能看出问题出在匹配、转发还是后端?
这几个问题能顺畅答出来,说明你不是「配过」Nginx,而是「懂了」Nginx。哪个答不上,就回去补对应的那几讲。
标杆徐LinuxSre运维系列 :Nginx Web应用核心配置场景实践(20讲)
课程推荐
《Nginx Web应用核心配置场景实践(20讲)》标杆徐LinuxSre运维系列 :Nginx Web应用核心配置场景实践(20讲)【技能收获】学完可掌握:Python 编程、Linux 运维、MySQL / 数据库。课程以实战为导向,覆盖从基础概念到完整项目落地的关键步骤,配套章节笔记便于课后复盘与面试前快速回顾。【学习建议】建议按目录顺序学习,先打基础再进入综合实战章节;每完成 2~3 节可结合笔记整理一份学习小结,最终尝试独立复现一套完整 Demo 写入个人作品集。【就业发展】可面向岗位:Linux 运维工程师、SRE、云计算工程师、DevOps 工程师。云原生与自动化运维仍是企业 IT 刚需方向,认证 + 实战项目组合能显著提升面试通过率,适合向中高级运维或架构岗进阶。 若你已有一定编程或运维基础,本课程可帮助你在现有技能栈上快速叠加热门方向能力,提升求职时的项目说服力与薪资谈判空间。
视频目录(157 节)
* 1 什么是URL.mp4
* 2 什么是HTML.mp4
* 3 什么是HTTP协议.mp4
* 4 HTTP协议工作原理.mp4
* 5 HTTP请求方法Method.mp4
* 6 HTTP请求Headers.mp4
* 7 HTTP长连接与短连接.mp4
* 8 HTTP响应Headers.mp4
* 9 HTTP响应Code.mp4
* 10 HTTP相关术语-pv-uv-ip-并发.mp4
* 11 Nginx基础-网络IO.mp4
* 12 Nginx基础-同步IO-异步IO.mp4
* 13 Nginx基础-阻塞IO-非阻塞IO.mp4
* 14 Nginx基础-IO模型组合.mp4
* 15 Nginx基础-IO模型-同步阻塞IO.mp4
* 16 Nginx基础-IO模型-同步非阻塞IO.mp4
* 17 Nginx基础-IO模型-IO多路复用.mp4
* 18 Nginx基础-IO模型-信号驱动IO.mp4
* 19 Nginx基础-IO模型-异步非阻塞IO.mp4
* 20 Nginx基础-IO模型对比及实现.mp4
* 21 Nginx基础-基本概念.mp4
* 22 Nginx基础-应用场景.mp4
* 23 Nginx基础-组成结构.mp4
* 24 Nginx基础-部署Nginx服务.mp4
* 25 Nginx基础-目录结构.mp4
* 26 Nginx基础-配置文件.mp4
* 27 Nginx基础-搭建游戏站点.mp4
* 28 Nginx基础-站点访问实现原理.mp4
* 29 Nginx基础-基于多IP虚拟主机实践.mp4
* 30 Nginx基础-基于多端口虚拟主机实践.mp4
* 31 Nginx模块-目录索引autoindex-1.mp4
* 32 Nginx模块-目录索引autoindex-2.mp4
* 33 Nginx模块-访问控制-access-module.mp4
* 34 Nginx模块-基础认证-basic-module.mp4
* 35 Nginx模块-请求限制-limit-req-module.mp4
* 36 Nginx模块-连接限制-limit-conn-module.mp4
* 37 Nginx模块-速度限制-limit-rate-module.mp4
* 38 Nginx模块-限速综合案例.mp4
* 39 Nginx模块-基础监控stub_status-module.mp4
* 40 Nginx模块-图片资源压缩-gzip-module.mp4
* 41 Nginx模块-文件资源压缩-gzip-module.mp4
* 42 Nginx模块-location-module.mp4
* 43 Nginx模块-location-@.mp4
* 44 Nginx模块-日志logformat.mp4
* 45 Nginx模块-access日志.mp4
* 46 Nginx模块-error日志.mp4
* 47 LNMP架构-基本概念.mp4
* 48 LNMP架构-实现细节.mp4
* 49 LNMP架构-安装LNMP组件.mp4
* 50 LNMP架构-Nginx集成PHP.mp4
* 51 LNMP架构-PHP集成MySQL.mp4
* 52 产品交付-Wordpress博客系统.mp4
* 53 产品交付-Wordpress主题替换.mp4
* 54 产品交付-Wecenter社交系统.mp4
* 55 产品交付-Love相亲系统.mp4
* 56 产品交付-Shop商城系统.mp4
* 57 搭建Kodcloud接入Redis高速缓存.mp4
* 58 架构扩展-拆分数据库至独立服务器.mp4
* 59 架构扩展-扩展多台web节点.mp4
* 60 架构扩展-实现多节点静态资源共享.mp4
* 61 架构扩展-负载均衡引入.mp4
* 62 Nginx代理-基本介绍.mp4
* 63 Nginx代理-正向代理模式.mp4
* 64 Nginx代理-反向代理模式.mp4
* 65 Nginx代理-正向与反向代理区别.mp4
* 66 Nginx代理-代理支持协议及常用协议.mp4
* 67 Nginx代理-代理场景实践.mp4
* 68 Nginx代理参数-proxy_set_header.mp4
* 69 Nginx代理参数-proxy_http_version.mp4
* 70 Nginx代理参数-proxy_timeout.mp4
* 71 Nginx代理参数-proxy_buffering.mp4
* 72 Nginx代理参数-优化与问题.mp4
* 73 Nginx负载均衡-基本概述.mp4
* 74 Nginx负载均衡-场景实现.mp4
* 75 Nginx负载均衡-Wordpress业务接入.mp4
* 76 Nginx负载调度算法-轮询调度.mp4
* 77 Nginx负载调度算法-加权轮询.mp4
* 78 Nginx负载调度算法-IP_hash.mp4
* 79 Nginx负载调度算法-一致性Hash.mp4
* 80 Nginx负载调度算法-Url_Hash.mp4
* 81 Nginx负载调度算法-Least_conn.mp4
* 82 Nginx负载后端状态-Backup-Down.mp4
* 83 Nginx负载均衡后端状态-max_conns.mp4
* 84 Nginx负载均衡后端状态-keepalive.mp4
* 85 Nginx负载均衡后端状态-fail_timeout.mp4
* 86 nginx会话保持-Session基本介绍.mp4
* 87 nginx会话保持-搭建phpmyadmin.mp4
* 88 nginx会话保持-负载均衡使用ip_hash实现会话保持.mp4
* 89 nginx会话保持-使用redis实现会话保持.mp4
* 90 nginx会话保持-cookies植入实现会话保持.mp4
* 91 nginx负载均衡-应用节点异常容错机制.mp4
* 92 nginx负载均衡-基于uri调度场景.mp4
* 93 nginx负载均衡-添加斜线与不添加斜线.mp4
* 94 nginx负载均衡-根据用户请求设备调度场景.mp4
* 95 nginx使用-X-Forwarded-for实传真实IP.mp4
* 96 nginx使用-RealIP模块实现透传真实IP.mp4
* 97 nginxTCP负载均衡-基本介绍.mp4
* 98 nginxTCP负载均衡-MySQL负载均衡.mp4
* 99 nginxTCP负载均衡-SSH与HTTP负载均衡.mp4
* 100 nginx动静分离-基本介绍.mp4
* 101 nginx动静分离-单机动静分离场景.mp4
* 102 nginx动静分离-集群动静分离场景.mp4
* 103 04nginxuwsgi代理-wsgi-uwsgi介绍.mp4
* 104 nginxUwsgi代理-配置Django运行环境.mp4
* 105 nginxUwsgi代理-配置Nginx代理Uwsgi.mp4
* 106 nginxUwsgi代理-部署Python博客系统.mp4
* 107 nginxUwsgi代理-部署Python项目流程.mp4
* 108 nginxRewrite-基本介绍.mp4
* 109 nginxRewrite-if判断语句指令.mp4
* 110 nginxRewrite-set设定变量指令.mp4
* 111 nginxRewrite-return数据返回指令.mp4
* 112 nginxRewrite-Flag-break.mp4
* 113 nginxRewrite-Flag-redirect-per.mp4
* 114 nginxRewrite场景-示例1.mp4
* 115 nginxRewrite场景-示例2.mp4
* 116 nginxRewrite场景-示例3.mp4
* 117 nginxRewrite场景-示例4.mp4
* 118 nginxRewrite场景-示例5.mp4
* 119 nginxRewrite场景-示例6.mp4
* 120 nginxRewrite场景-示例7.mp4
* 121 nginxRewrite场景-示例8.mp4
* 122 nginxRewrite场景-示例9.mp4
* 123 nginxRewrite场景-示例10.mp4
* 124 nginxRewrite场景-示例11.mp4
* 125 nginxRewrite场景-示例12.mp4
* 126 nginxRewrite场景-防盗链基本概述.mp4
* 127 nginxRewrite场景-防盗链场景实践.mp4
* 128 Https基本概述.mp4
* 129 TLS如何实现加密.mp4
* 130 加密模型-对称加密.mp4
* 131 加密模型-非对称加密.mp4
* 132 身份验证机构-CA.mp4
* 133 Https加密与解密原理.mp4
* 134 Https扩展知识.mp4
* 135 单机服务实现https.mp4
* 136 将证书替换为阿里云真实证书.mp4
* 137 集群环境实现Https.mp4
* 138 wordpress业务接入Https.mp4
* 139 Https场景实践-1.mp4
* 140 Https场景实践-2.mp4
* 141 Https场景实践-3.mp4
* 142 Https优化参数.mp4
* 143 高可用基本介绍.mp4
* 144 高可用VRRP协议.mp4
* 145 Keepalived基本组件.mp4
* 146 Keepalived核心概念.mp4
* 147 Keepalived应用场景.mp4
* 148 Keepalived安装配置.mp4
* 149 Keepalived地址漂移测试.mp4
* 150 Keepalived延迟抢占.mp4
* 151 Keepalived非抢占式.mp4
* 152 Keepalived故障切换-邮件通知.mp4
* 153 keepalived双主模式-互为主备.mp4
* 154 Keepalived实现Nginx高可用并接入业务环境.mp4
* 155 Nginx平滑升级概述.mp4
* 156 Nginx平滑升级实践.mp4
* 157 Nginx平滑回退实践.mp4
