什么是 NGINX?

NGINX 是一款开源软件,用于 Web 服务、反向代理、缓存、负载均衡、媒体流等。它最初是一款 Web 服务器,旨在实现最高性能和稳定性。除 HTTP 服务器功能以外,NGINX 还可用作电子邮件(IMAP、POP3 和 SMTP)的代理服务器,以及 HTTP、TCP 和 UDP 服务器的反向代理和负载均衡器。

背景故事

Igor Sysoev 最初编写 NGINX 是为解决 C10K 问题,此术语于 1999 年提出,用于描述现有 Web 服务器在处理大量 (10K) 并发连接 (C) 时遇到的困难。NGINX 采用事件驱动的异步架构,彻底改变服务器在高性能环境中运行的方式,成为速度最快的 Web 服务器。

2004 年,Sysoev 将该项目进行开源,实现使用量的指数级增长,之后与他人共同创立了 NGINX, Inc.,以支持 NGINX 的持续发展,同时推出 NGINX Plus,这是一款专为企业客户设计且具有附加功能的商业产品。NGINX, Inc. 于 2019 年加入 F5, Inc.。如今,NGINX 和 NGINX Plus 可处理成千上万的并发连接,为互联网最繁忙的站点提供的支持多于其他任何服务器。

NGINX 充当 Web 服务器

NGINX 的深层次目标是创建速度最快的 Web 服务器,而保持卓越性能仍是该项目的核心目标。在衡量 Web 服务器性能的基准测试中,NGINX 的表现始终优于 Apache 和其他服务器。不过,自 NGINX 发布以来,网站已从简单的 HTML 页面扩展到动态、多层面的内容。NGINX 也随之发展壮大,现已支持现代 Web 的所有组件,包括 WebSocket、HTTP/2、gRPC 和多种视频格式的流(HDS、HLS、RTMP 等)。

NGINX 超越 Web 服务

尽管 NGINX 因提供速度最快的 Web 服务器而闻名,但经证实,其可扩展的底层架构是服务内容以外许多 Web 任务的理想选择。由于 NGINX 可以处理大量连接,因此常用作反向代理和负载均衡器,以管理传入流量并将其分配给速度较慢的上游服务器(从旧有数据库服务器到微服务)。

NGINX 还经常被放置在客户端和第二台 Web 服务器之间,充当 SSL/TLS 终止器或 Web 加速器。作为中介,NGINX 能够有效处理可能会降低 Web 服务器速度的任务,如协商 SSL/TLS 或压缩和缓存内容以提高性能。使用 Node.js 或 PHP 构建的动态网站通常会部署 NGINX 作为内容缓存和反向代理,以减少应用服务器的负载,并高效利用底层硬件。

NGINX 和 NGINX Plus 具有哪些功能?

NGINX Plus 和 NGINX 是同类型最佳 Web 服务器和应用交付解决方案,被 Dropbox、Netflix 和 Zynga 等高流量网站广泛使用。全球有超过 3.5 亿个网站依靠 NGINX Plus 和 NGINX Open Source 快速、可靠、安全地交付内容。

  • NGINX Plus 是一款专为云原生架构设计的集负载均衡器、Web 服务器、API 网关和反向代理于一体的纯软件产品,可帮助您加快 IT 基础设施和应用现代化的步伐。NGINX Plus 提供企业级功能,具有强大的可靠性和安全性。
  • NGINX 是一款多功能工具。通过 NGINX,您可以将同一工具用作负载均衡器、反向代理、内容缓存和 Web 服务器,从而大幅减少企业需要维护的工具和配置数量。NGINX 提供文档大量的电子书、网络研讨会及视频,助您轻松上手。NGINX Plus 包括快速响应客户支持,因此您可以轻松获得帮助,以诊断堆栈中使用 NGINX 或 NGINX Plus 的任何部分。
  • NGINX 不断发展。过去十年里,NGINX 一直走在现代 Web 发展的前沿,帮助引领从 HTTP/2 到微服务支持等各个方面的发展。随着 Web 应用开发和交付的不断发展,NGINX Plus 不断添加功能,从支持使用专为 NGINX 定制的 JavaScript 实现配置,到支持动态模块,以实现完美的应用交付。使用 NGINX Plus,确保您始终处于 Web 性能的前沿。