Nginx 简介

Nginx(读作 engine-x)是一款开源的高性能 Web 服务器软件,由俄罗斯工程师 Igor Sysoev 于 2004 年首次发布。它同时具备静态网站托管、反向代理、负载均衡、HTTP 缓存等能力,凭借高并发与低资源占用,如今是互联网上部署最广泛的服务器软件之一。

Nginx 是什么

从角色上看,Nginx 是一个"事件驱动"的服务器程序:请求到达时由少量 worker 进程的事件循环并发处理,而不是"一个连接占用一个进程/线程"。进程模型简单,因此同等并发量下比传统多进程服务器占用更少内存。

核心特性

  • 高并发:基于 epoll/kqueue 的异步非阻塞 I/O,单机可支撑数万并发连接。
  • 低占用:静态文件服务极快,空闲时几乎不吃 CPU。
  • 模块化:反向代理、负载均衡、gzip、SSL 等功能按需编译启用。
  • 平滑重载:修改配置可热生效,不中断已建立的连接(见第 03 章)。
  • 生态成熟:众多云厂商、CDN 与大型网站用它做流量入口。
  • 跨平台:支持 Linux、BSD、macOS 与 Windows,生产环境以 Linux 为主。

典型应用场景

场景说明
静态网站直接托管 HTML/CSS/JS/图片,速度极快(第 05 章)
反向代理把请求转发给 Node/Java/Go 等后端(第 09 章)
负载均衡把流量分发到多台后端服务器(第 10 章)
HTTPS 网关统一终结 TLS、挂证书(第 13 章)
缓存与压缩gzip 压缩、浏览器与代理缓存(第 11、12 章)

与 Apache 的简单对比

Apache 与 Nginx 都是主流 Web 服务器,区别主要在设计哲学:

对比项NginxApache
并发模型事件驱动,进程数基本固定每连接一个进程/线程(或事件型 MPM)
高并发内存开销连接多时明显偏高
动态语言需反代到后端处理可内置 PHP 等模块
目录级 .htaccess不支持支持,灵活但每次请求都要解析

选择建议:以静态内容、反向代理、高并发为主的新站点优先选 Nginx;依赖 .htaccess 的旧式共享主机环境则适合 Apache。

本教程路线

本教程共 26 章,按"安装(02)→ 进程管理(03)→ 配置语法(0408)→ 反代与负载(0910)→ 性能与安全(11~13)→ 进阶(14 章起)"组织。每章都附可直接复制的配置片段与验证命令,学完前 13 章即可搭建一个生产可用的 Web 站点入口。

小结:Nginx 是高性能、低占用的 Web 服务器与反向代理,适合静态托管和作为统一流量入口。从下一章开始,我们将在一台 Linux 服务器上把它安装起来。

笔记加载中…