课程大纲
HTTP/1.x 协议
请求和响应格式
使用 tcpdump 和 Wireshark 检查 HTTP 会话
在 Web 浏览器中检查 HTTP 标头
使用 CURL 发出请求
通用标头
请求流水线
内容长度和分块编码
MIME 类型
Nginx 安装
从 Debian 软件包安装 nginx
Debian 和 Ubuntu 中可用的 nginx 变体
从源代码安装 nginx
启动 nginx
升级 nginx
Nginx 作为静态文件服务器
配置文件的一般结构
设置虚拟主机
配置位置
位置查找顺序
设置错误页面
发出重定向
其他形式的 URL 重写
提供空的 GIF 图像
内部位置和命名位置
覆盖 MIME 类型
客户端性能优化
允许客户端缓存资源
Vary: 标头
最小化请求数
保持活力
如果资源需要更改,该怎么办
Web 框架如何处理静态文件
内容后处理
Gzip 压缩
图像缩放
Access 控制
根据 IP 地址限制对文件的访问
地理限制
隐藏 VCS 目录和私有文件
基本身份验证
其他类型的身份验证
组合限制
安全链接
应用限制
流量整形
以限制为目的对请求进行分组
速率限制请求
限制同时连接
Nginx 作为反向代理
支持的上游协议
处理自签名上游 SSL 证书
将参数传递给FastCGI和uWSGI后端
代理 websocket 连接
X-Accel-* 接头
修改上游接收和发送的标头
特定于语言的反向代理设置
PHP
Python
Ruby
Nginx 作为 SSL 终结者
生成自签名 SSL 证书
从 Let's Encrypt 获取证书
限制可用密码
使用会话票证
装订 OCSP 响应
验证 SSL 配置
接受客户端证书
HTTP/2 注意事项
使用 Nginx 进行负载均衡
定义上游组
使用 ip_hash 的粘性会话
Nginx Plus 作为负载均衡器的额外功能
Nginx 和 Nginx Plus 的替代品
将另一个 Nginx 放在 Nginx 负载均衡器后面
Nginx 在 HAProxy 或 AWS 负载均衡器后面
Nginx 作为缓存
告诉 nginx 缓存页面
nginx 如何对与缓存相关的标准标头做出反应
缓存的可调参数
Nginx Skyndiminni vs Skyndiminni á forritsstigi
清除缓存
使用 Nginx 部署常用的 Web 应用程序
要讨论的应用程序列表由培训师确定
伐木
Access 日志和错误日志文件
指定自定义日志格式
跟踪慢速请求
优化日志记录
日志轮换
外部程序的日志分析
监控 Nginx
Nginx 存根状态页面
Nginx 加上扩展的实时状态页面
监控系统通常绘制和警报的内容 Nginx
[可选]Nginx¹ 的高可用性
如何将相同的静态内容部署到多个服务器
配置共享
使用弹性/虚拟 IP 地址进行故障转移
使用 Keepalived 设置 VRRP
其他高可用性堆栈
Nginx 加上与 Keepalived 的集成
与 Nginx 配置相关的常见错误和安全问题
常见性能问题
¹ 高可用性部分涉及网络设置,该设置使入侵检测系统不满意,或者需要为每个参与者设置多个虚拟机(其他主题不需要)。因此,默认情况下不提供它。
要求
参与者必须熟悉 Linux 命令行,并具有 TCP/IP 的工作知识