课程大纲

  1. HTTP/1.x 协定
    1. 请求和回应格式
    2. 使用 tcpdump 和 Wireshark 检查 HTTP 会话
    3. 在 Web 浏览器中检查 HTTP 标头
    4. 使用 CURL 发出请求
    5. 常见标头
    6. 请求流水线
    7. 内容长度和分块编码
    8. MIME 类型
  2. Nginx 安装
    1. 从 Debian 套件安装 nginx
    2. nginx 的变体在 Debian 和 Ubuntu 中可用
    3. 从源安装nginx
    4. 启动 nginx
    5. 升级nginx
  3. Nginx 作为静态档伺服器
    1. 配置档的一般结构
    2. 设置虚拟主机
    3. 配置位置
    4. 位置查找顺序
    5. 设置错误页面
    6. 发出重定向
    7. 其他形式的 URL 重写
    8. 提供空 GIF 影像
    9. 内部和命名位置
    10. 覆盖MIME类型
  4. 用户端性能优化
    1. 允许客户端快取资源
    2. Vary: 标头
    3. 最小化请求数
    4. 保持活动状态
    5. 如果资源需要更改怎么办
    6. Web 框架如何处理静态档
  5. 内容后处理
    1. Gzip 压缩
    2. 图像缩放
  6. Access 控制
    1. 根据IP位址限制对档的访问
    2. 地理限制
    3. 隐藏 VCS 目录和私有档
    4. 基本身份验证
    5. 其他类型的身份验证
    6. 组合限制
    7. 安全连结
  7. 应用限制
    1. 流量整形
    2. 为了限制
    3. 速率限制请求
    4. 限制同时连接
  8. Nginx 作为反向代理
    1. 支援的上游协定
    2. 处理自签名的上游 SSL 证书
    3. 将参数传递给FastCGI和uWSGI后端
    4. 代理 websocket 连接
    5. X-Accel-* 标头
    6. 修改上游接收和发送的标头
  9. 特定于语言的反向代理设置
    1. PHP
    2. Python
    3. Ruby
  10. Nginx 作为 SSL 终止符
    1. 生成自签名 SSL 证书
    2. 从 Let's Encrypt 获取证书
    3. 限制可用密码
    4. 使用会话票证
    5. 装订 OCSP 回应
    6. 验证 SSL 配置
    7. 接受客户端证书
    8. HTTP/2 注意事项
  11. 使用 Nginx 进行负载均衡
    1. 定义上游组
    2. 使用 ip_hash的粘性会话
    3. Nginx Plus 作为负载均衡器的额外功能
    4. Nginx 和 Nginx Plus 的替代项
    5. 将另一个 Nginx 放在 Nginx 负载均衡器后面
    6. Nginx 落后于 HAProxy 或 AWS 负载均衡器
  12. Nginx 作为缓存
    1. 告诉 nginx 快取页面
    2. nginx 如何应对与标准缓存相关的 header
    3. 缓存的可调参数
    4. Nginx 快取与应用程式级快取
    5. 清除缓存
  13. 使用 Nginx 部署流行的 Web 应用程式
    1. 要讨论的应用程式清单由培训师决定
  14. 伐木
    1. Access 纪录和错误纪录档
    2. 指定自订日志格式
    3. 跟踪缓慢的请求
    4. 优化记录
    5. 日志轮换
    6. 通过外部程序进行日志分析
  15. 监控 Nginx
    1. Nginx 存根状态页面
    2. Nginx 新增扩展实时状态页面
    3. 监控系统通常绘制和警告的内容 Nginx
  16. [可选]使用 Nginx¹ 实现高可用性
    1. 如何将相同的静态内容部署到多个伺服器
    2. 配置共用
    3. 使用弹性/虚拟IP位址进行故障转移
    4. 使用 Keepalived 设置 VRRP
    5. 其他高可用性堆叠
    6. Nginx 以及与 Keepalived 的集成
  17. 与 Nginx 配置相关的常见错误和安全问题
  18. 常见性能问题

¹ 高可用性部分涉及使入侵检测系统不满意的网路设置,或者需要为每个参与者设置多个虚拟机(其他主题不需要)。因此,预设情况下不提供它。

要求

参与者必须熟悉 Linux 命令行,并具有 TCP/IP 的工作知识

 21 小时

客户评论 (1)

即将举行的公开课程

课程分类