jk's notes
  • ch01 Nginx 初探

ch01 Nginx 初探

主要介绍一些同类服务器, 以及 Nginx 的简单历史. 本章基本略. 大部分内容可以在百度等搜索引擎中找到.

常见服务器

  • Apache 服务器.
  • IIS, 微软家的大而全的产品. 与 .NET 结合很好.
  • Tomcat, 性能略逊于 Apache, 但支持 Servlet 和 JSP 容器. 开发 JSP 首选. (逻辑上 IIS 对于 .NET, 如同 Tomcat 对于 JSP). 一般应用中, Tomecat 担任 Apache 扩展的角色, 专门执行 JSP 应用.
  • Lighttpd, 轻量级, 强悍, 高性能. 其特点是: 低内存开销, CPU 占用低, 模块丰富. 作为 Apache 的替代方案.
  • Nginx. 由 俄罗斯 Igor Sysoev 开发, 第一次公开发布于 2004 年 10 月 4 日. 版本为 0.1.0

Nginx 功能特性

  • 可作为 HTTP 服务器
  • 可作为反向代理服务器
  • 作为邮件服务器
  • 支持很多扩展功能.

一般将 Nginx 的功能分为三大类

  1. 基本的 HTTP 服务. 作为 HTTP 服务器, 或代理服务器 (正/反向代理) 使用. 支持通过缓存加速, 简单的负载均衡, 容错, 包过滤, SSL 等功能.
  2. 高级 HTTP 服务器. 支持虚拟主机, URL 重定向 (JK: 感觉与代理有一定重合), 网络监控, 流媒体传输等.
  3. 作为邮件服务器 (JK: 似乎最早就支持, 只是现在不这么用了).

下面详细说明

基本 HTTP 服务

主要功能:

  • 处理静态文件, 处理索引文件, 支持自动索引. (JK: 基于 Docker 部署前段构建生成的 HTML 通常采用这个方案).
  • 支持反向代理, 并使用缓存加速反向代理, 同时支持简单的负载均衡以及容错. (stream, url 重写等功能的应用).
  • 支持通过模块扩展来实现过滤 (JK: 暂时没用过).
  • 支持 SSL.

对书中部分内容不理解也没用过的没有收录.

高级 HTTP 服务

主要提供了:

  • 支持基于名字和 IP 的虚拟主机设置.
  • 支持 HTTP/1.0 的 Keep-Alive, 以及管线模型 (PipeLined) 连接.
  • 支持重新加载配置, 在线升级时, 不中断正在处理的请求.
  • 自定义日志操作.
  • 提供指定错误码的重定向配置.
  • 支持重写扩展.
  • HTTP DAV 模块.
  • 支持 FLV, MP4 流传输.
  • 支持网络监控. 并对访问, 速度, 次数等进行控制.
  • 支持 Perl 语言.

邮件代理服务

暂略

常用功能

常见使用 Nginx 的场景

  • HTTP 代理, 反向代理
  • 负载均衡
  • Web 缓存
Last Updated:
Contributors: jk