基础概念
HTTP协议基础
理解HTTP请求/响应结构、方法、状态码、头部字段等Web通信基础,作为掌握反向代理与URL转发的语言底座
建议预留 60 分钟
学习目标
- 掌握HTTP请求行、请求头、请求体结构与常见方法
- 理解状态码族语义与常见头部字段传递
关键概念
- 请求报文结构
- HTTP方法
- 状态码
- 请求头/响应头
- Cookie/Session
为什么学习
- 小白需真正理解HTTP请求/响应报文结构与头语义,才能在配置proxy_set_header与调试时有据可依
如何检验理解
- 能徒手画出一次完整HTTP请求与响应报文结构并说明各头部用途
- 能解释GET/POST状态码族含义并能推断反向代理中头部丢失的后果
基础概念
Linux基础与网络概念
命令行操作、进程管理、端口/IP概念、TCP/IP与DNS,为部署、配置与排障Nginx打底
建议预留 45 分钟
学习目标
- 掌握Linux文件系统与权限管理基本命令
- 理解端口、IP、TCP连接建立与DNS解析概念
关键概念
- 命令行
- 文件权限
- 端口/IP
- TCP三次握手
- DNS解析
- socket
为什么学习
- Nginx运行在Linux上,小白必须熟练命令行、文件权限与端口tcp连接才能完成安装、配置与诊断
如何检验理解
- 能在Linux上完成文件编辑、权限修改与进程查看等基本操作
- 能用netstat/ss查看监听端口并用tcpdump抓包验证流量方向
基础概念
nginx安装与编译
不同平台安装、源码编译、常用编译模块、版本选择,为后续按需装配模块打基础
建议预留 45 分钟
学习目标
- 掌握yum/apt安装与nginx -V查版本方式
- 理解源码编译关键configure参数含义并能选择模块
关键概念
- 源码编译
- configure参数
- 动态模块
- 版本管理
- --with/--without
为什么学习
- 小白需掌握安装与常见编译参数,才能获得后续所需的gzip/http2/stream等模块能力
如何检验理解
- 能通过编译参数选择所需模块完成一次nginx --configure并启动服务
- 能用nginx -V查看已编译参数并判断内置启用的模块
核心技能
配置文件结构与指令语法
nginx.conf主配置结构、指令上下文(main/http/server/location)、include机制,是全部配置能力的骨架
建议预留 60 分钟
学习目标
- 理解four级上下文的包含关系与指令可放置范围
- 掌握include组织配置文件的最佳实践
关键概念
- main/http/server/location
- 指令上下文
- include
- 作用域与继承
- nginx.conf
为什么学习
- 小白必须理解指令上下文作用域与继承规则,否则后续所有配置都会因放错层级而失效,是精通的核心地基
如何检验理解
- 能说出某条指令应位于哪个上下文并解释作用域继承关系
- 能规划出模块化的include配置文件结构
核心技能
Server虚拟主机配置
基于域名/端口/IP的虚拟主机区分与listen/server_name匹配原理,是多站点与网关入口的基石
建议预留 45 分钟
学习目标
- 掌握listen与server_name匹配优先级
- 能创建并组织多个虚拟主机配置文件
关键概念
- listen
- server_name
- 虚拟主机
- default_server
- 通配符/正则域名
为什么学习
- 反向代理与API网关都建立在server块正确区分流量之上,虚拟主机是核心场景的高频操作
如何检验理解
- 能配置多个域名vhost并解释server_name匹配回退规则
- 能通过curl指定Host头验证命中正确的server块
核心技能
nginx基本命令与运维操作
start/stop/reload/test/reopen信号管理及优雅平滑升级,是生产运维的日常基本功
建议预留 30 分钟
学习目标
- 掌握主要信号命令含义与使用场景
- 掌握优雅升级与配置校验流程
关键概念
- SIGNAL
- reload
- graceful upgrade
- nginx -t
- reopen
为什么学习
- 配完配置要以reload生效,排障要用test校验,这是精通Nginx的必备可执行技能
如何检验理解
- 能区分reload与restart并说明为何reload更平滑、不丢请求
- 能通过nginx -t定位语法错误行并完成热升级
核心技能
Location匹配规则与优先级
精确/前缀/正则location匹配、优先级排序与内部跳转,是URL路由与代理分发的决策核心
建议预留 60 分钟
学习目标
- 掌握精确/前缀/正则三类location及其优先级顺序
- 理解location内部跳转与proxy正则捕获传参规则
关键概念
- =精确匹配
- ^~前缀
- ~正则
- 匹配优先级
- @命名location
为什么学习
- location是url routing的精度核心,反向代理、重写、静态全经它以精确匹配流量,必须深度掌握规则与优先级且能熟练design路由
如何检验理解
- 能针对复杂URL说明命中哪个location及为何
- 能设计出一份不含冲突的location路由表并解释匹配最优解
核心技能
Master-Worker事件驱动架构
理解nginx多进程模型、异步事件机制与worker_processes,是高并发调优的架构前提
建议预留 60 分钟
学习目标
- 理解多进程模型与异步非阻塞IO事件机制
- 理解worker_processes/worker_connections的含义
关键概念
- master/worker
- epoll
- 异步非阻塞
- worker_processes
- accept_mutex
为什么学习
- 理解事件驱动与master-worker模型才能真正懂worker连接数与epoll等参数,是性能专家能力的认知基础
如何检验理解
- 能解释为何一个worker可并发处理大量请求且不阻塞
- 能说明master与worker职责分工及reload机制原理
基础概念
静态资源服务与根目录配置
root/alias/index、静态文件serving、目录列表与try_files,是静态资源服务专家分支的基础
建议预留 45 分钟
学习目标
- 区分root与alias的路径拼接差异
- 掌握index与try_files基本用法
关键概念
- root/alias
- index
- try_files
- autoindex
- sendfile
为什么学习
- 静态serving是核心能力但与原目标关联中等,做为基础配置技能掌握root与try_files即可
如何检验理解
- 能配置一个多静态站点server并让root与alias正确路由
- 能用try_files实现SPA回退或资源兜底
核心技能
HTTPS/SSL证书配置
TLS证书配置、HTTP/2、SSL参数优化与HSTS,是安全传输与性能专家分支的关键
建议预留 90 分钟
学习目标
- 掌握证书链配置与HTTP/2开启
- 理解ssl_protocols/加密套件基本安全取舍
关键概念
- TLS/SSL证书
- HTTP/2
- ssl_certificate
- HSTS
- TLS会话复用
- ssl_session_cache
为什么学习
- 目标将TLS/SSL定位熟练级,需掌握证书配置与HTTP/2开启及常见优化,但不必钻研密码学细节
如何检验理解
- 能配置双证书TLS server并启用HTTP/2与HSTS
- 能排查常见TLS握手报错并调整ssl_protocols/套件
核心技能
反向代理proxy_pass配置
http代理、proxy_pass路径转发、proxy_set_header、keepalive后端连接,是Nginx第一核心价值
建议预留 90 分钟
学习目标
- 掌握proxy_pass路径拼接规则
- 掌握proxy_request/http头部传递与后端keepalive配置
- 理解代理超时与buffering机制
关键概念
- proxy_pass
- URI透传
- proxy_set_header
- proxy_buffering
- proxy_read_timeout
- keepalive
为什么学习
- 反向代理是精通Nginx最核心能力之一,目标定位专家级,必须掌握path转发差异、头传递与后端连接复用等精细细节
如何检验理解
- 能解释proxy_pass带/与不带/时URI透传差异并正确设计
- 能为后端正确传递X-Forwarded-For与真实host并启用keepalive复用
补充知识
日志管理与access/error日志
日志格式定制、级别、切割轮转,支撑日志分析与可观测性
建议预留 30 分钟
学习目标
- 掌握log_format定制并配合JSON输出
- 掌握日志切割与重开方案
关键概念
- log_format
- access_log
- error_log级别
- 日志轮转
- JSON日志
为什么学习
- 日志是排障与监控入口,但非核心业务逻辑,做为基础能力掌握格式定制与轮转即可,不深入分析pipeline
如何检验理解
- 能自定义JSON格式access日志并配置按天轮转
- 能根据error日志级别排查常见配置问题
核心技能
Rewrite重写规则与正则
rewrite指令、正则应用、redirect/permanent标志与if条件,服务于URL路由治理
建议预留 90 分钟
学习目标
- 掌握rewrite语法与last/break/redirect/permanent标志
- 掌握正则捕获在URI重写中的应用
关键概念
- rewrite
- 正则捕获
- redirect
- return
- if条件
- rewrite module
为什么学习
- 重写在七层URL治理与动态路由中常用,但目标核心在代理分流,掌握rewrite/redirect与正则捕获即可,无需扩展自定义if复杂逻辑
如何检验理解
- 能编写常见http-to-https与路径改写rewrite规则并验证跳转
- 能解释return与rewrite在URL处理阶段的差异
核心技能
访问控制与基础安全加固
allow/deny IP控制、auth_basic认证、防盗链与隐藏敏感配置,是安全防护的入门砖
建议预留 60 分钟
学习目标
- 掌握allow/deny与auth_basic应用场景
- 掌握referer防盗链与安全响应头加固
关键概念
- allow/deny
- auth_basic
- valid_referers
- 安全响应头
- 限制方法
为什么学习
- 安全防护被目标定位专家级,访问控制与鉴权是其起点,需扎实掌握location层allow/deny/auth基本加固
如何检验理解
- 能实现基于IP白名单与auth_basic的location级访问控制
- 能加固server headers并隐藏敏感模块信息
补充知识
Gzip压缩与HTTP优化
gzip压缩、MIME识别、缓存头与server_tokens,支撑静态资源与传输优化
建议预留 45 分钟
学习目标
- 掌握gzip与gzip_types配置
- 理解expires与缓存控制头设置
关键概念
- gzip
- gzip_static
- Cache-Control
- expires
- server_tokens
为什么学习
- 是性能优化的重要一环但非核心,掌握gzip与缓存头基本配置即可,不深入压缩比调优细节
如何检验理解
- 能配置gzip并确认Content-Encoding: gzip生效
- 能设置合理Cache-Control与隐藏版本号
核心技能
Nginx变量体系与内置变量
$host/$remote_addr等变量理解、map模块与自定义变量传递,是动态配置的强大工具
建议预留 60 分钟
学习目标
- 掌握核心内置变量语义与生命周期
- 掌握map模块进行变量映射与默认值设计
关键概念
- 内置变量
- $host/$uri
- map模块
- 变量作用域
- $request_uri
为什么学习
- 变量与map是构建OpenResty动态逻辑和复杂路由的枢纽能力,目标含Lua扩展需达到能把变量体系迁移到自定义脚本设计与模块中的level
如何检验理解
- 能用map根据请求特性动态构建变量并驱动代理目标
- 能解释常见内置变量真实含义及在access/log中的值
- 能把变量体系思路迁移到lua中编写动态路由逻辑
核心技能
Nginx性能调优实践
worker连接数、事件模型、内核参数、缓冲区与IO优化,支撑高并发生产
建议预留 90 分钟
学习目标
- 掌握worker/连接数/事件模型的调优方法论
- 掌握内核参数(somaxconn/file-max/epoll)与缓冲IO优化
- 掌握压测与瓶颈定位的方法论
关键概念
- worker_connections
- epoll
- keepalive
- somaxconn
- sendfile
- ngx_http_core
- 压测基准
为什么学习
- 性能与并发调优被目标定位专家级核心能力,深入理解worker/epoll/keepalive/内核参数才能给出生产级与高并发优化方案
如何检验理解
- 能根据并发模型推导合适的worker_processes与worker_connections并说明依据
- 能用ab/wrk压测对比调优前后提升并解释内核参数改进
- 能定位并讲解系统瓶颈点进而给优化方案
核心技能
负载均衡与upstream
upstream后端池、轮询/权重/IP_hash/least_conn调度、健康检查与故障转移,是流量治理核心
建议预留 90 分钟
学习目标
- 掌握round-robin/least_conn/ip_hash等算法差异
- 掌握健康检查与故障转移配置及会话保持策略
关键概念
- upstream
- weight
- ip_hash/hash
- least_conn
- max_fails
- 健康检查
- session affinity
为什么学习
- 负载均衡被目标定位专家级,必须深入理解全部调度算法取舍、会话保持与健康检查才能胜任生产流量治理
如何检验理解
- 能手写一个带权重+健康检查+被动故障转移的upstream并说明各参数含义
- 能针对会话保持场景选择ip_hash/一致性hash并解释sticky机制
核心技能
缓存机制与proxy_cache
proxy_cache反向代理与fastcgi缓存、缓存键与失效策略,是缓存专家分支的核心
建议预留 90 分钟
学习目标
- 掌握proxy_cache_path与proxy_cache_key配置
- 理解缓存命中/失效判断与缓存清理机制
关键概念
- proxy_cache
- cache zone
- cache key
- proxy_cache_valid
- purge
- Mozilla缓存
为什么学习
- 目标定位缓存为熟练级核心配置,需掌握proxy_cache配置与缓存键/失效设计以支撑生产边缘缓存
如何检验理解
- 能搭建带命中率监控的proxy_cache并说明缓存键冲突处理
- 能设计不同URI的缓存有效期策略
核心技能
流量限制与连接数控制
limit_req限速、limit_conn限制、burst缓冲与漏桶算法,是防DDoS的关键手段
建议预留 60 分钟
学习目标
- 理解limit_req漏桶模型并配置限速
- 掌握limit_conn与zone申请方式
关键概念
- limit_req
- 漏桶算法
- burst
- nodelay
- limit_conn
- zone
为什么学习
- 防DDoS与限流被目标定位专家级,需深入理解漏桶/令牌桶模型与burst/nodelay语义以精确设计防护
如何检验理解
- 能配置limit_req并解释漏桶工作原理与burst效果
- 能用limit_conn限制单IP并发并验证超限返回503
核心技能
日志状态与realip模块
X-Forwarded-For传递、realip处理代理IP、stub_status监控连接统计
建议预留 45 分钟
学习目标
- 掌握realip模块还原真实客户端IP
- 掌握stub_status状态监控指标解读
关键概念
- realip
- X-Forwarded-For
- set_real_ip_from
- stub_status
- Active connections
为什么学习
- 真实IP还原与状态统计是监控与排障专家必需,需掌握realip与stub_status配合反向代理与访问控制
如何检验理解
- 能在多层代理后正确还原客户端真实IP并用于日志
- 能启stub_status读取活跃连接/读写计数指标
补充知识
WebSocket与四层代理
Upgrade/Connection转发与stream模块处理TCP/UDP四层代理
建议预留 45 分钟
学习目标
- 掌握WebSocket长连接代理如何保留Upgrade头
- 掌握stream模块四层流量转发基础配置
关键概念
- WebSocket
- Upgrade
- stream模块
- TCP/UDP代理
- preread
为什么学习
- WebSocket与stream代理是边缘需求,目标核心在七层HTTP场景,做基础Use了解协议升级与常见四层代理即可
如何检验理解
- 能配置WebSocket反向代理转发Upgrade头
- 能配置stream块做TCP端口转发
领域知识
Nginx高可用架构
keepalived+VIP、主备切换与VIP漂移,搭建高可用负载均衡集群
建议预留 120 分钟
学习目标
- 掌握keepalived+VRRP与VIP机制
- 掌握故障自动切换与健康检查脚本方案
关键概念
- keepalived
- VRRP
- Virtual IP
- 主备切换
- 脑裂
- 故障检测
为什么学习
- 高可用被目标定位熟练级,需掌握keepalived+VIP主备切换架构、健康脚本与故障漂移的落地能力
如何检验理解
- 能搭建双节点keepalived+nginx高可用并演示VIP自动漂移
- 能编写健康检查脚本并解释脑裂风险与规避
核心技能
OpenResty与Lua扩展开发
Lua脚本集成与location嵌入,开发WAF、灰度发布、动态鉴权等复杂业务逻辑
建议预留 120 分钟
学习目标
- 掌握OpenResty与lua-nginx-module的location阶段嵌入
- 掌握基于Lua实现鉴权/限流/灰度/动态路由
关键概念
- OpenResty
- lua-nginx-module
- content_by_lua
- access阶段
- resty.http
- 灰度路由
为什么学习
- Lua开发被目标定位熟练级,需能实际基于OpenResty编写动态路由、鉴权限流与灰度逻辑,这是agent用其构建API网关的重要能力
如何检验理解
- 能编写一个location内嵌Lua实现鉴权或动态回源选择
- 能把nginx变量转成Lua逻辑实现灰度发布或自定义限流
- 能组合resty.http或逻辑实现API网关的基础功能
补充知识
Nginx模块C开发
模块结构、回调hook机制与C语言自定义模块开发与load_module加载
建议预留 120 分钟
学习目标
- 理解模块结构、context与phase回调机制
- 理解handler/types相关模块存在价值
关键概念
- 模块context
- phase
- handler模块
- load_module
- 回调钩子
为什么学习
- 目标将C模块开发定位入门级,只需理解模块结构、phase回调概念并能识别如何编写简单模块即可,不需深入实现复杂模块
如何检验理解
- 能画出Nginx请求处理phase链并指出modulehook挂载点
- 能阅读源码梳理一个handler模块的基本骨架结构
前置关系与知识联系
- 配置文件结构与指令语法 → Server虚拟主机配置
- 静态资源服务与根目录配置 → 日志管理与access/error日志
- Nginx变量体系与内置变量 → OpenResty与Lua扩展开发
- 配置文件结构与指令语法 → Master-Worker事件驱动架构
- 配置文件结构与指令语法 → 静态资源服务与根目录配置
- 负载均衡与upstream → Nginx高可用架构
- 静态资源服务与根目录配置 → Gzip压缩与HTTP优化
- Master-Worker事件驱动架构 → Nginx性能调优实践
- 访问控制与基础安全加固 → 流量限制与连接数控制
- OpenResty与Lua扩展开发 → Nginx模块C开发
- nginx安装与编译 → 配置文件结构与指令语法
- Location匹配规则与优先级 → 反向代理proxy_pass配置
- Linux基础与网络概念 → nginx安装与编译
- 访问控制与基础安全加固 → Nginx性能调优实践
- 流量限制与连接数控制 → OpenResty与Lua扩展开发
- HTTP协议基础 → 配置文件结构与指令语法
- nginx安装与编译 → nginx基本命令与运维操作
- Server虚拟主机配置 → Location匹配规则与优先级
- 缓存机制与proxy_cache → 反向代理proxy_pass配置
- Location匹配规则与优先级 → Nginx变量体系与内置变量
- 反向代理proxy_pass配置 → 负载均衡与upstream
- Location匹配规则与优先级 → Rewrite重写规则与正则
- 反向代理proxy_pass配置 → 日志状态与realip模块
- Location匹配规则与优先级 → 访问控制与基础安全加固
- Server虚拟主机配置 → HTTPS/SSL证书配置
- 反向代理proxy_pass配置 → WebSocket与四层代理
结合互动地图查看具体关系类型,再选择下一步。