下面用"3 个 1 分钟"帮你快速建立 Nginx 的整体印象:
1 分钟了解它为何诞生,1 分钟看懂它的 5 大核心优势,再花 1 分钟搞清和 Apache 的关键差异。
-
诞生背景(2002-2004)
• 作者:俄罗斯系统工程师 Igor Sysoev
• 初衷:解决 C10K 问题------单机同时维持 1 万个并发连接
• 场景:当时门户网站 Rambler 的流量暴涨,传统 Apache prefork/worker 模式在 5-8 k 连接时 CPU、内存迅速耗尽,需要一种更轻量的服务器
• 结果:2004 年 10 月发布 Nginx 0.1.0,2019 年成为全球市场份额最高的 Web 服务器(>35%)
-
五大核心优势
- 高并发:事件驱动 + 异步非阻塞 I/O(epoll/kqueue),单机可轻松数万并发
- 低资源:每个连接仅占用几 KB 内存,CPU 利用率极高
- 多功能:既是 Web 服务器,也是反向代理、负载均衡、缓存、TLS 终端、邮件代理
- 热部署:master-worker 架构,reload 不丢连接,版本升级零中断
- 模块化:核心精简,按需编译进模块,避免"功能膨胀"
- Nginx vs Apache------一句话总结
"Apache 像瑞士军刀,功能全;Nginx 像手术刀,专精高性能。"
维度 | Apache | Nginx |
---|---|---|
并发模型 | 多进程/多线程(prefork/worker/event) | 单线程异步事件驱动 |
静态文件 | 通过内核 read/write,高并发易堵 | sendfile/zero-copy,2-3 倍吞吐 |
动态内容 | 内置 mod_php / mod_perl | 交给后端 PHP-FPM/uWSGI,解耦更灵活 |
内存占用 | 每连接≈几 MB | 每连接≈几 KB |
配置粒度 | 目录级 .htaccess 灵活 | 仅 server/location 级,无 .htaccess,换来更高性能 |
模块加载 | 运行时动态加载 | 编译时静态集成(2016 起支持部分动态模块) |
适用场景 | 功能丰富、低并发或需要 .htaccess 的共享主机 | 高并发、反向代理、负载均衡、静态资源/CDN |
一句话选型
• 流量大、需要反向代理或负载均衡 → 选 Nginx
• 传统虚拟主机、需要大量动态模块或 .htaccess → 选 Apache
• 很多团队"Nginx 前置 + Apache 后置"混合架构,兼得性能与兼容。