NGINX Plus
NGINX Plus 便于使用,完全由 NGINX 官方团队支持,并提供一系列高级功能。
- 便于使用 — 从 NGINX 的私有 repo 中安装预构建且经过测试的二进制文件。
- 技术支持 — 享受来自 NGINX 官方团队 (NGINX 开源版和 NGINX Plus 背后的团队)的全面支持并获知最新消息。
- 功能丰富 – NGINX Plus 结合了高性能 Web 服务器、强大的前端负载均衡器和高度可扩展的加速缓存功能,可以为您的 Web 应用创建一个理想的端到端平台。NGINX Plus 建立在 NGINX 开源版之上——我们也还在持续开发 NGINX 开源版。有关更多信息,请参阅 NGINX 开源版和 NGINX Plus 之间的区别是什么?以及已发布的 NGINX 1.6 和 NGINX 1.7 的分支策略。
NGINX Plus 的优势取决于您所在的组织的当前环境和要求:
- 对于当前使用 NGINX 开源版的组织来说,NGINX Plus 在任务关键型应用环境中消除了管理一系列 “自制”的代理、负载均衡器以及缓存服务器的复杂性。
- 对于目前使用硬件负载均衡器(应用交付控制器,即 ADC)的组织来说,NGINX Plus 以更灵活的软件形式提供了全套 ADC 功能,并且以成本效益更高的订阅形式计价。
- 对于需要现代解决方案来实现可扩展且可靠的网络架构的组织来说,NGINX Plus 背靠着 NGINX 开源版(为世界上最繁忙的网站提供支持)10 年的良好记录,值得信赖。
- 对于需要解决方案来实现大规模可扩展 HTTP 视频传输的组织来说,NGINX Plus 有针对视频的高级支持。
NGINX 开源版适用于以下场景:
- 当您想查看或编辑源代码
- 当您希望编译未内置到 NGINX Plus 中且未包含在动态模块代码库中的第三方模块,或者您希望创建自己的自定义模块
- 当您希望继续使用自己的软件包和安全修复
- 当您的工作环境不需要技术支持
公司遇到以下情况时:
- 正在运行的商业应用或网站需要可预测、可靠且高性能的用户体验;
- 使用过 NGINX 开源版,但希望降低复杂性,并获取 NGINX 技术支持;
- 正在将 Web 架构从单体应用迁移到轻量级、“可扩展”的分布式组件化架构(并且需要一个在这个架构的上层有一个“外壳/路由层”);
- 正在转向虚拟化/云环境,需要一种更现代、更云环境友好的方案来替代现有的基于硬件的 LB/ADC 解决方案;
- 拥有基于硬件的 LB/ADC 解决方案,但不想继续以比 NGINX Plus 高 10 倍的成本购买昂贵、不可扩展且僵化死板的解决方案;
- 是媒体或内容的所有者,需要处理大规模的 HTTP 流媒体(HTTP 视频/音频)。
与 NGINX 开源版一样,NGINX Plus 也是小型紧凑的软件包,适用于任何受支持的、基于 Linux 的系统。打包好的 NGINX Plus 虚拟设备版本可用于 Amazon AWS,也可以将其部署在 chroot jails、linux 容器以及您自己的虚拟机中。
请遵循此操作指南:https://cs.nginx.com/repo_setup
NGINX Plus 包括一个内置仪表板,该仪表板基于 NGINX Plus API 构建,具有详细的监控指标。请查看现场演示以了解详情。
NGINX Controller 负载均衡模块是一个集中式平台,用于在多云环境中管理所有 NGINX Plus 负载均衡器。使用其直观的向导式图形用户界面(GUI),您可以配置所有 NGINX Plus 实例。您还可以构建自定义仪表板,以跟踪对您最重要的指标。
此外,许多监控供应商为 NGINX Plus 提供了集成解决方案,包括 AppDynamics、Datadog 和 Dynatrace。有关供应商的完整列表,请参阅我们的合作伙伴页面。
有关更多信息,请参阅 Live Activity Monitoring 产品页面、NGINX Plus Admin Guide 和 NGINX Plus API 模块的参考文档。
动态配置加载用于修改负载均衡参数,以及从上游组中添加或删除服务器。请参阅:NGINX Plus 的动态配置加载。
作为 NGINX Plus 的一部分的第三方软件列表,可在产品附带的 NGINX Plus 参考文档附录 B 中查看。NGINX Plus 还使用“动态链接”与以下第三方库进行链接(即我们并未将这些软件与 NGINX Plus 一起交付):
- OpenSSL
- zlib
- PCRE
NGINX Plus 也可以配合 SSL 使用,但我们不会以任何形式自行交付或分发 OpenSSL 库。
请按照我们发送给您的欢迎电子邮件中的登录说明进行操作。登录并检索到必要的访问密钥后,请按照 NGINX Plus 管理指南中的安装说明进行操作。(此链接也包含在欢迎电子邮件中。)
如果您正在使用从源代码编译的任何第三方模块,安装 NGINX Plus 可能会改变您的 NGINX 服务器的行为。因为 NGINX Plus 是以二进制形式发行的,其中内置了预定模块(已在 NGINX Plus 技术规范中列明)。不过您可以在运行时中将第三方模块动态加载到 NGINX Plus 中。我们建议在升级之前检查您当前版本的 NGINX 和当前 NGINX Plus 版本之间的任何功能差异。
安装 NGINX Plus 的方式取决于当前的部署情况。我们建议在任何 NGINX 或 NGINX Plus 升级之前,您都先备份现有的 NGINX 配置文件。
- 如果您之前是用
yum
软件包管理器安装的 NGINX 开源版,请运行yum
swap
命令将其移除,然后再安装 NGINX Plus。使用该软件包管理器可以二进制包的形式实时升级 NGINX Plus。 - 如果您之前是用
apt-get
软件包管理器安装的 NGINX 开源版,只需运行apt-get
安装命令即可安装 NGINX Plus。 - 如果您之前是用源码安装的 NGINX 开源版,则需要手动停止 NGINX 服务,从系统中删除现有的 NGINX 二进制文件,然后使用您的操作系统的软件包管理器安装 NGINX Plus。
想要在 NGINX Plus 的基础上使用动态模块,其迁移过程非常轻松。要安装并动态加载模块,请执行以下步骤。
这些步骤的前提是:您已将软件包管理工具配置为从 NGINX (而不是从操作系统供应商)拉取发行版文件。以下命令适用于基于 Debian 的系统。
-
使用操作系统的标准软件包管理工具删除 nginx‑plus‑extras 镜像,并安装基础的 nginx-plus 镜像。
# apt-get update # apt-get remove nginx-plus-extras # apt-get install nginx-plus
-
安装您想要动态加载的模块(针对每个模块,都需要重复以下安装命令)。
# apt-get install module-name
可动态加载的模块包括:
- nginx-plus-module-geoip
- nginx-plus-module-headers-more
- nginx-plus-module-image-filter
- nginx-plus-module-lua
- nginx-plus-module-passenger
- nginx-plus-module-perl
- nginx-plus-module-rtmp
- nginx-plus-module-set-misc
- nginx-plus-module-xslt
请注意,由于操作系统的限制,某些模块不适用于某些操作系统版本。有关这些模块的详细信息和说明,请参阅 NGINX Plus 技术规范。
/etc/nginx/modules 目录会被自动创建,指向以上模块 .so 文件的安装位置的符号链接也会被自动创建并存储在该目录。
-
在 /etc/nginx/nginx.conf 文件的主上下文(最上层的上下文)中, 为您安装的每个动态加载模块添加
load_module
指令。load_module modules/module-name.so;
-
检查新添配置的语法,并重新加载 NGINX Plus。
# nginx -t && nginx -s reload
特点
由于具备跨核同步、多会话持久性方法,NGINX Plus 可以对负载均衡决策和健康检查进行精细调整。所以 NGINX Plus 可以更好地识别故障服务器,并让其缓慢启动,逐步重回集群。也因此,NGINX Plus 的负载均衡算法功能更为强大。欲了解更多有关信息,请参阅:NGINX Plus 的应用负载均衡。
NGINX Plus 目前支持以下负载均衡方法:
- 轮询调度法和加权轮询调度法
- 最少连接和加权最少连接
- 最少时间和加权最少时间
- IP 哈希(基于客户端 IP 地址)和加权 IP 哈希
- 哈希(基于指定的请求特征)
- 一致(ketama)哈希
- 两次随机选择
会话持久性方法可以识别用户会话,并将其流量固定传递给相应的上游服务器——这些规则优先于负载均衡决策:
- Cookie-insert
- Cookie 和基于变量的路由(例如,
jvmroute
等) - 习得型会话持久性(learn session persistence)
欲了解更多有关信息,请参阅 NGINX Plus 的应用负载均衡
是的。我们支持 cookie-insert、基于变量的路由和习得型会话持久性。请参阅:NGINX Plus 的应用负载均衡
我们仅支持针对 HTTP/HTTPS/FastCGI/uwsgi/SCGI/memcache 的负载均衡。针对 SMTP/POP3/IMAP 流量,我们会将其代理并路由到单个上游服务器,并不会对其进行负载均衡。
NGINX Plus 确实提供了一个扩展性极强的缓存引擎,同时适用于静态和动态内容。缓存功能适用于所有的代理模式/网络协议,例如 HTTP/FastCGI/uwsgi/SCGI。缓存的内容存储在混合缓存中——刚刚被使用的内容会被存储在内存中,而所有内容则被存储在磁盘缓存中,从而在软件重启前后还能被保留。有关更多信息,请参阅:使用 NGINX Plus 实现内容缓存
是的,NGINX Plus 支持基于特定的 URL 或通配符匹配的完全缓存失效。请参阅:使用 NGINX Plus 实现内容缓存
NGINX Plus 包含了来自 NGINX 工程师屡获殊荣的技术支持,以及 NGINX 开源版中没有的独有功能,包括主动健康检查、会话持久性、JWT 认证等。
有关详细信息,请查看 NGINX Plus 和 NGINX 开源版的完整功能对比。
NGINX Plus 是我们的商业产品,具有为企业开发的技术支持和扩展功能。作为熟悉 NGINX 的人,您将能够顺利且快速开始使用 NGINX Plus 并深入了解它带来的新功能,如高级负载均衡、配置 API 和缓存管理 API、会话持久性、应用感知型的健康检查等。
更新
免费的 NGINX 开源版大约每月更新一次,即其遵循基于时间的发布周期。如果您是从第三方(如操作系统供应商)来更新 NGINX,他们可能不会这么频繁地发布版本,并且一些供应商只跟踪稳定版分支(即旧版本的分支),而不是主线版分支(即最新版本的分支)。更新发布后,我们将通过 nginx-announce@nginx.org 邮件列表发送通知。
NGINX Plus 大约每季度发布一次更新;查看 NGINX Plus 版本详细信息。版本更新信息将发送给所有 NGINX Plus 在册用户。
有关软件发布过程的详细信息,请查看文章正式发布 NGINX 1.6 和 1.7。
我们会将安全通知发送到:
- NGINX Plus 的在册客户;
- nginx-announce@nginx.org 公开邮件列表(见历史存档);
- 发布在 nginx.org 的这个页面:http://nginx.org/en/security_advisories.html
如果您正在使用从源代码编译的任何第三方模块,安装 NGINX Plus 可能会改变您的 NGINX 服务器的行为。因为 NGINX Plus 是以二进制形式发行的,其中内置了预定模块(已在 NGINX Plus 技术规范中列明)。不过您可以在运行时中将第三方模块动态加载到 NGINX Plus 中。我们建议在升级之前检查您当前版本的 NGINX 和当前 NGINX Plus 版本之间的任何功能差异。
安装 NGINX Plus 的方式取决于当前的部署情况。我们建议在任何 NGINX 或 NGINX Plus 升级之前,您都先备份现有的 NGINX 配置文件。
- 如果您之前是用
yum
软件包管理器安装的 NGINX 开源版,请运行yum
swap
命令将其移除,然后再安装 NGINX Plus。使用该软件包管理器可以二进制包的形式实时升级 NGINX Plus。 - 如果您之前是用
apt-get
软件包管理器安装的 NGINX 开源版,只需运行apt-get
安装命令即可安装 NGINX Plus。 - 如果您之前是用源码安装的 NGINX 开源版,则需要手动停止 NGINX 服务,从系统中删除现有的 NGINX 二进制文件,然后使用您的操作系统的软件包管理器安装 NGINX Plus。
版本更新通知和关键重要的安全通告将通过电子邮件发送给在我们客户支持门户网站上注册的管理员们。这些通知只会发送给管理员级别的用户——普通用户和计费用户不会收到这些通知。
我们会在我们的博客中宣布每一个 NGINX Plus 更新版本,您可以在 NGINX Plus 版本页面上找到每一个版本的详细信息。NGINX Amplify 的用户也可以在系统报告中找到软件版本和安全建议信息。
许可和定价
请添加下面的文本到您的许可证条款中,且附带同样适用的 2-clause BSD 许可证的文本。
This product contains software provided by NGINX and its contributors. 本产品包含 NGINX 及其贡献者提供的软件。
此外,如果您构建的 nginx
包含以下任何第三方产品 —— zlib、PCRE、OpenSSL —— 那么也建议添加上它们的版权声明和免责声明。
NGINX Plus 是按照软件订阅的形式出售的。有关详细信息,请参阅 NGINX 定价页面。
NGINX 的产品“按实例”发放许可。在订阅期间,每一份订阅允许您运行一个软件实例。
所谓的“一个实例”是在单个物理机或单个虚拟服务器上运行的单个软件副本。如果在同一物理机或虚拟服务器上运行两个软件副本,将算作两个实例。当您在两个不同的物理或虚拟服务器上运行软件的两个副本时,这也算作两个实例。大多数灾难恢复(DR)部署都要求每个位置有两个实例,虽然其中一个实例处于“被动”状态(运行但不接收流量)。
如果您运行的是“热/冷”灾难恢复部署——即其中的一台服务器在平时完全断电(NGINX 软件未运行),并仅在主服务器出现故障时通电——那么您只需要一份订阅即可,因为在任何给定时间内,只有一个软件副本在运行。
没有其他限制。它将充分利用可用的硬件资源,以完全性能全速运行,并且对相关配置的大小和复杂程度没有限制。
请更详细地描述您的需求,我们将尽力为您找到解决方案。
虚拟主机、多租户以及 SSL 证书的数量没有配置限制。可配置的对象的最大数量取决于服务器的内存。
常见用例
当然可以!事实上,多年来 NGINX 一直是 Node.js 的首选代理/前端。请查看这篇描述了如何使用 NGINX Plus 和 WebSocket 协议博客文章:NGINX 作为 WebSockets 代理,或搜索更多的第三方文章。
可以。NGINX Plus 基于开源版的 NGINX 软件,在亚马逊云科技(AWS)上,有超过 35% 的网站使用 NGINX 开源版。我们提供 NGINX AMI(适用于 Amazon Linux 和 Ubuntu)和独立订阅(类似 BYOL )两种形式,您可以在自己的 AMI 或 VM 上使用。AWS Marketplace 上的产品链接包括:
[编辑:截至 2015 年,新增两种 AMI 可用:
AWS Marketplace 现在也有了 NGINX Plus 的“试用”模式!有关更多信息,请参阅:开始在 Amazon EC2 上使用 NGINX Plus。
是的,在大多数情况下,您可以安全地使用 NGINX Plus 作为亚马逊 Elastic Load Balancing(ELB) 的替代方案——尤其是当您需要高粒度且可配置的请求路由、精确的日志记录、SSL 卸载、缓存、连接/带宽管理时——所有这些都更靠近您的应用,并与之完美集成。NGINX Plus 还可以在 ELB 和您的后端服务器之间使用。
在某种程度上可以。要知道 CloudFront 是一个巨大的分布式架构,包括世界各地的数千个边缘节点。就功能而言,NGINX Plus 可以是一个非常强大的边缘缓存解决方案。
当流媒体功能由后端服务器(可以是 NGINX)处理时,NGINX 可用于代理流媒体,不过 NGINX Plus 流媒体扩展模块仅用于从直连存储中流媒体内容。视频内容摄取的另一种方法是通过 RTMP。
可以的,NGINX Plus 是一个非常流行的 HTTP 视频分发解决方案,同时也是 Wowza 以及 Adobe 产品的替代品——优秀、高性能、高可扩展、极具成本效益。
NGINX Plus 以网络加速解决方案而闻名。如果您的系统(ERP/CRM/电子商务等)使用 HTTP 作为通信协议,NGINX Plus 可以采用一系列优化措施来减少应用后端不必要的负载、提升高可用性、减少延迟,并提高整体性能。NGINX Plus 可以为应用堆栈引入以下加速技术:
- 卸载并发处理 — 使您的系统能够轻松同时处理数千数万个连接的客户端
- 卸载静态内容 — 您可以从应用后端将图像/视频/CSS/HTML/JS 移动到 NGINX Plus
- 支持动态内容压缩
- 可以轻松缓存静态和动态的重复内容
- 通过服务器负载均衡和应用健康监测,为实现应用可扩展性提供了许多灵活的技巧
- 通过针对会话限制、连接和带宽限制的多样控制,提高了安全性
- 允许将 SSL 终端从应用后端转移到 NGINX Plus,以处理所有 SSL 带来的复杂性。
NGINX 可以替代……?
NGINX 是一个众所周知的开源项目,最初由俄罗斯工程师 Igor Sysoev 编写。Igor 于 2002 年开启了本项目,并于 2004 年将其公开。从那时起,NGINX 成为了高性能、可扩展的网站的事实标准。数以千万计的活跃网站都在使用 NGINX,其中包括世界上最繁忙的 100 万个网站。出于可扩展性和性能的原因,Airbnb、Box、Dropbox、Netflix、Tumblr、WordPress.com 等公司都部署了 NGINX。
NGINX 是一款高性能、可扩展性强、高可用的 Web 服务器、反向代理服务器和 Web 加速器(结合了 HTTP 负载均衡器、内容缓存等功能)。NGINX 提供了一种可扩展性很强的架构,与 Apache(以及同一类别中的许多其他开源和商业产品)的架构非常不同。NGINX 的架构具有模块化、事件驱动、异步、单线程的特点,可在通用服务器硬件和多处理器系统上扩展。NGINX 使用像是 Linux 这样的现代操作系统的所有底层功能来优化内存、CPU 和网络的使用,并从物理服务器或虚拟服务器中榨取最大性能。最终结果是,与 Apache 相比,NGINX 通常可以为每台服务器提供至少 10 倍以上(通常是 100–1000 倍)的请求,这意味着每台服务器连接的用户更多、带宽利用率更好、CPU 和 RAM 消耗更少,同时也意味着更绿色的环境!
有关 NGINX 架构的更多信息,请参阅开源应用架构一书中专门介绍 NGINX 的章节。
可以。传统的 ADC 和负载均衡器部署在应用的前端,用于负载均衡、保持、缓存、路由和修改 HTTP 事务。NGINX Plus 提供了相同的功能和优势。ADC 和负载均衡器充当反向代理,将 HTTP 请求转发到源服务器和应用服务器。NGINX Plus 可以作为源服务器(直接从磁盘提供静态内容)和应用网关(将 HTTP 请求转换为 FastCGI、uWSGI、memcache 等接口协议)运行——它提供了现代 Web 服务器所需的所有功能。NGINX Plus 是一个经过验证的解决方案(以备受推崇的 NGINX 开源版为核心),创建了一个完整的 HTTP 驱动的应用平台。您还可以查看 nginx-cn.net 上的以下文章:
当然,您可以使用 NGINX Plus 作为 HAProxy 的替代品来实现 HTTP 负载均衡。NGINX Plus 是一个成熟的 Web 加速解决方案,包括 HTTP 请求路由、HTTP 负载均衡、可扩展的内容缓存、SSL 卸载、带宽管理、监控等功能。
当然可以使用 NGINX Plus 作为 Varnish 的替代品。NGINX Plus 是一个成熟的 Web 加速解决方案,包括 HTTP 请求路由、HTTP 负载均衡、可扩展内容缓存、SSL 卸载、带宽管理、监控等功能。
技术支持和专业服务
NGINX 官方团队在 NGINX Plus 的基础上提供多种专业服务,包括调优、配置、性能优化、配置审计、负载模拟和专属技术支持。专业服务包括针对 NGINX Plus 的规划、安装和优化,以及相关操作系统设置的优化和调整(如果需要的话)。专业服务不包括安装或配置任何其他第三方软件(如 WordPress、Joomla、Magento 等)。
我们通常会有一个详细的电子邮件交流或一个电话交流,来划定并说明服务范围。然后,我们将评估所需的专业服务的小时数。当客户和 NGINX 官方团队的代表签署服务范围后,工作就开始进行了。我们的专业服务工程团队会跟踪所花费的时间,并与已购买的时间量进行对比,然后定期(在每个主要阶段完成之后)通知客户。
是的,前提是我们能够为这个项目定义一个明确的范围,且就所需的专业服务(时间长度、成本等)达成一致。
是的,我们为各种各样的客户做了很多这样的工作。
您可以订阅 NGINX Plus 以获取 NGINX Plus 受支持实例的技术支持,或 NGINX 企阅版以获取 NGINX 开源版受支持实例的技术支持。
通过订阅 NGINX 企阅版,您可以为 NGINX 开源版添加由 NGINX 团队提供的专业的技术支持。您还可以获得其他 NGINX 社区成员的支持。
若要创建技术支持工单,请从合同中指定的公司电子邮件地址向合同中规定的 NGINX 支持地址发送电子邮件。您还可以通过电话获得关键问题的支持。
我们建议用户运行最新版本的 NGINX 软件,因为我们只会针对最新版本发布更新。当更新可用时,我们会主动通知所有订阅者。我们为当前版本以及自当前版本发布之日起两年内发布的版本提供技术支持。欲了解更多产品发布的相关信息,请参阅 NGINX Plus、NGINX App Protect 和 NGINX Plus Ingress Controller 的版本发布说明。
针对我们构建和维护的可选第三方模块,NGINX 很乐意为客户提供最佳的技术支持。在我们的动态模块页面上提供了这些模块的完整列表。每次查询支持可能仅限于一小时时长,之后如果您愿意,可以了解 NGINX 专业服务。
未在“动态模块”页面中列出的自定义模块或第三方模块不受支持。我们可能会要求在提供支持之前禁用任何此类模块,以验证问题是否与 NGINX Plus 本身有关。
我们的技术支持包括在您安装或操作 NGINX Plus 部署时遇到的错误调试以及故障排除的相关问题。其中包括:
- 访问 NGINX Plus 代码库
- 安装 NGINX Plus 软件
- 所有 NGINX Plus 功能的详细配置指南
- 错误调试和故障排除
- 安装第三方动态模块
- 在遇到可能的故障或错误时进行全面分析并提出建议
- 在常规更新发布周期之外,提供软件错误的热修复 (Professional and Enterprise only)
- 尽早通知重要的安全更新
我们的支持不包括:
- 第三方动态模块的配置或故障排除
- 动手实施性能调整或配置
- 操作系统、数据库或后端应用问题的故障排除
订阅
请按照我们发送给您的欢迎电子邮件中的登录说明进行操作。登录并检索到必要的访问密钥后,请按照 NGINX Plus 管理指南中的安装说明进行操作。(此链接也包含在欢迎电子邮件中。)