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 的功能分为三大类
- 基本的 HTTP 服务. 作为 HTTP 服务器, 或代理服务器 (正/反向代理) 使用. 支持通过缓存加速, 简单的负载均衡, 容错, 包过滤, SSL 等功能.
- 高级 HTTP 服务器. 支持虚拟主机, URL 重定向 (JK: 感觉与代理有一定重合), 网络监控, 流媒体传输等.
- 作为邮件服务器 (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 缓存