01丨 课程综述.mp4
02丨 Nginx 适用于哪些场景?.mp4
03丨 Nginx 出现的历史背景.mp4
04丨 为什么用 Nginx:它的 5 个主要优点.mp4
05丨 Nginx 的四个主要组成部分.mp4
06丨 Nginx 的版本发布历史.mp4
07丨 选择哪一个 Nginx 发行版本?.mp4
08丨 编译出适合自己的 Nginx.mp4
09丨 Nginx 配置文件的通用语法介绍.mp4
10丨 Nginx 命令行及演示:重载、热部署、日志切割.mp4
11丨 用 Nginx 搭建一个可用的静态资源 Web 服务器.mp4
12丨 用 Nginx 搭建一个具备缓存功能的反向代理服务.mp4
13丨 用 GoAccess 实现可视化并实时监控 access 日志.mp4
14丨 从网络原理来看 SSL 安全协议.mp4
15丨 对称加密与非对称加密各自的应用场景.mp4
16丨 SSL 证书的公信力是如何保证的?.mp4
17丨 SSL 协议握手时 Nginx 的性能瓶颈在哪里?.mp4
18丨 用免费 SSL 证书实现一个 HTTPS 站点.mp4
19丨 基于 OpenResty 用 Lua 语言实现简单服务.mp4
20丨 Nginx的请求处理流程.mp4
21丨 Nginx的进程结构.mp4
22丨 Nginx的进程结构实例演示.mp4
23丨 使用信号管理Nginx的父子进程.mp4
24丨 reload重载配置文件的真相.mp4
25丨 热升级的完整流程.mp4
26丨 优雅地关闭worker进程.mp4
27丨 网络收发与Nginx事件间的对应关系.mp4
28丨 Nginx网络事件实例演示.mp4
29丨 Nginx的事件驱动模型.mp4
30丨 epoll的优劣及原理.mp4
31丨Nginx的请求切换.mp4
32丨 同步&异步、阻塞&非阻塞之间的区别.mp4
33丨 Nginx的模块究竟是什么?.mp4
34丨 Nginx模块的分类.mp4
35丨 Nginx如何通过连接池处理网络请求.mp4
36丨 内存池对性能的影响.mp4
37丨 所有worker进程协同工作的关键:共享内存.mp4
38丨 用好共享内存的工具:Slab管理器.mp4
39丨 哈希表的max_size与bucket_size如何配置.mp4
40丨 Nginx中最常用的容器:红黑树.mp4
41丨 使用动态模块来提升运维效率.mp4
42丨 第三章内容介绍.mp4
43丨 冲突的配置指令以谁为准?.mp4
44丨 Listen指令的用法.mp4
45丨 处理HTTP请求头部的流程.mp4
46丨 Nginx中的正则表达式.mp4
47丨 如何找到处理请求的server指令块.mp4
48丨 详解HTTP请求的11个阶段.mp4
49丨 11个阶段的顺序处理.mp4
50丨 postread阶段:获取真实客户端地址的realip模块.mp4
51丨 rewrite阶段的rewrite模块:return指令.mp4
52丨 rewrite阶段的rewrite模块:重写URL.mp4
53丨 rewrite阶段的rewrite模块:条件判断.mp4
54丨 find_config阶段:找到处理请求的location指令块.mp4
55丨 preaccess阶段:对连接做限制的limit_conn模块.mp4
56丨 preaccess阶段:对请求做限制的limit_req模块.mp4
57丨 access阶段:对ip做限制的access模块.mp4
58丨 access阶段:对用户名密码做限制的auth_basic模块.mp4
59丨 access阶段:使用第三方做权限控制的auth_request模块.mp4
60丨 access阶段的satisfy指令.mp4
61丨 precontent阶段:按序访问资源的try_files模块.mp4
62丨 实时拷贝流量:precontent阶段的mirror模块.mp4
63丨 content阶段:详解root和alias指令.mp4
64丨 static模块提供的3个变量.mp4
65丨 static模块对url不以斜杠结尾却访问目录的做法.mp4
66丨 index和autoindex模块的用法.mp4
67丨 提升多个小文件性能的concat模块.mp4
68丨 access日志的详细用法.mp4
69丨 HTTP过滤模块的调用流程.mp4
70丨 用过滤模块更改响应中的字符串:sub模块.mp4
71丨 用过滤模块在http响应的前后添加内容:addition模块.mp4
72丨 Nginx变量的运行原理.mp4
73丨 HTTP框架提供的请求相关的变量.mp4
74丨 HTTP框架提供的其他变量.mp4
75丨 使用变量防盗链的referer模块.mp4
76丨 使用变量实现防盗链功能实践:secure_link模块.mp4
77丨 为复杂的业务生成新的变量:map模块.mp4
78丨 通过变量指定少量用户实现AB测试:split_client模块.mp4
79丨 根据IP地址范围的匹配生成新变量:geo模块.mp4
80丨 使用变量获得用户的地理位置:geoip模块.mp4
81丨 对客户端使用keepalive提升连接效率.mp4
82丨 反向代理与负载均衡原理.mp4
83丨 负载均衡策略:round-robin.mp4
84丨 负载均衡哈希算法:ip_hash与hash模块.mp4
85丨 一致性哈希算法:hash模块.mp4
86丨 最少连接算法以及如何跨worker进程生效.mp4
87丨 http upstream模块提供的变量.mp4
88丨 http反向代理proxy处理请求的流程.mp4
89丨 proxy模块中的proxy_pass指令.mp4
90丨 根据指令修改发往上游的请求.mp4
91丨 接收用户请求包体的方式.mp4
92丨 与上游服务建立连接.mp4
93丨 接收上游的响应.mp4
94丨 处理上游的响应头部.mp4
95丨 上游出现失败时的容错方案.mp4
96丨 对上游使用SSL连接.mp4
97丨 用好浏览器的缓存.mp4
98丨 Nginx决策浏览器过期缓存是否有效.mp4
99丨 缓存的基本用法.mp4
100丨 对客户端请求的缓存处理流程.mp4
101丨 接收上游响应的缓存处理流程.mp4
102丨 如何减轻缓存失效时上游服务的压力.mp4
103丨 及时清除缓存.mp4
104丨 uwsgi、fastcgi、scgi指令的对照表.mp4
105丨 memcached反向代理的用法.mp4
106丨 搭建websocket反向代理.mp4
107丨 用分片提升缓存效率.mp4
108丨 open file cache提升系统性能.mp4
109丨 http2协议介绍.mp4
110丨 搭建http2服务并推送资源.mp4
111丨 grpc反向代理.mp4
112丨 stream四层反向代理的7个阶段及常用变量.mp4
113丨 proxy protocol协议与realip模块.mp4
114丨 限并发连接、限IP、记日志.mp4
115丨 stream四层反向代理处理SSL下游流量.mp4
116丨 stream_preread模块取出SSL关键信息.mp4
117丨 stream proxy四层反向代理的用法.mp4
118丨 UDP反向代理.mp4
119丨 透传IP地址的3个方案.mp4
120丨 性能优化方法论.mp4
121丨 如何高效使用CPU.mp4
122丨 多核间的负载均衡.mp4
123丨 控制TCP三次握手参数.mp4
124丨 建立TCP连接的优化.mp4
125丨 滑动窗口与缓冲区.mp4
126丨 优化缓冲区与传输效率.mp4
127丨 慢启动与拥塞窗口.mp4
128丨 TCP协议的keepalive功能.mp4
129丨 减少关闭连接时的time_wait端口数量.mp4
130丨 lingering_close延迟关闭TCP连接.mp4
131丨 应用层协议的优化.mp4
132丨 磁盘IO的优化.mp4
133丨 减少磁盘读写次数.mp4
134丨 零拷贝与gzip_static模块.mp4
135丨 用tcmalloc优化内存分配.mp4
136丨 使用Google PerfTools分析Nginx.mp4
137丨 使用stub_status模块监控Nginx的状态.mp4
138丨 第三方模块源码的阅读.mp4
139丨 Nginx的启动流程.mp4
140丨 HTTP第三方模块的初始化.mp4
141丨 if指令是邪恶的吗?.mp4
142丨 解读Nginx的核心转储文件.mp4
143丨 通过debug日志定位问题.mp4
144丨 OpenResty概述.mp4
145丨 OpenResty中的Nginx模块与Lua模块.mp4
146丨 如何在Nginx中嵌入Lua代码.mp4
147丨 OpenResty中Lua与C代码交互的原理.mp4
148丨 获取、修改请求与响应的SDK.mp4
149丨 工具类型的SDK.mp4
150丨 同步且非阻塞的底层SDK:cosocket.mp4
151丨 基于协程的并发编程SDK.mp4
152丨 定时器及时间相关的SDK.mp4
153丨 share.mp4
154丨 子请求的使用方法.mp4
155丨 基于OpenResty的WAF防火墙.mp4