NGINX.COM
Web Server Load Balancing with NGINX Plus

简化您的应用堆栈

NGINX Unit 将典型堆栈中的数层架构集合成一个组件,从而简化 Web 应用和 API 的应用堆栈。NGINX Unit 能够:

  • 作为 Web 服务器提供静态媒体文件服务
  • 运行多语言的原生应用代码
  • 执行反向代理到后端服务器
NGINX Unit 是一个通用的 Web 应用服务器,它的宗旨是成为任何 web 架构的构建模块,不论该构架是复杂的企业级部署,还是只是简单的宠物主页。它适用于现代化过时老旧的单体应用,也同样适用于简化现代微服务环境。

NGINX Unit 与 NGINX Web 服务器相比如何?

先进的架构

  • NGINX Unit 是由最初的 NGINX 团队在全新的开源代码库上创造的。
  • 该架构融合了运行全世界最受欢迎的 Web 服务器的十余年经验。
  • 与 NGINX Web 服务器不同,NGINX Unit 采用了多进程且多线程的架构。

运行应用代码

  • NGINX Web 服务器通常作为反向代理被部署到Web 应用前端。NGINX 可以原生地运行应用代码,并将完整的应用配置放在单一位置。
  • NGINX Unit 可以运行使用 Java、PHP、Python 或 Ruby 编写的 Web 应用和 API,且无需在中间放置任何进程管理器或应用服务器。
  • NGINX Unit 可以为 Web 应用的静态资产和动态内容提供服务。

全动态配置体验

  • NGINX Unit 完全使用 JSON 配置,因此无需学习新的配置语法。
  • 变更可被立即应用,无需重新加载,也不会中断正在进行的请求。
  • 您可以通过“配置 API”修改单个值或者替换整个配置。

 

为什么使用 NGINX Unit?

简化微服务

通常而言,Web 应用需要一个由多个反向代理、Web 服务器以及应用服务器组成的堆栈。NGINX Unit 将所有的这些功能与一个通用配置组合在一个组件中,使您能够从同一个服务器上交付整个单页应用或者 Web API 端点。

NGINX Unit 为应用代码提供了一个轻量级的运行时 —— 非常适合构建和部署微服务。同时,NGINX Unit 还支持多种编程语言和框架,为您的所有微服务提供相同的开发、配置以及部署体验。

有效率地将所有微服务共置一处,且不失去独立开发、部署和应用隔离的任何好处。NGINX Unit 以更加简单且更可扩展的形式交付了微服务的所有优势。

使单体结构现代化

NGNIX Unit 使用人们熟知的 JSON/REST 配置、容器友好型的方式以及对传统应用的现代 TLS 实现。

使用 NGINX Unit,您可以从现有应用中创建云原生单体应用,而无需改动应用代码。

NGINX Unit 还可以通过执行请求路由(将其移近运行时并由应用开发团队控制),从而实现从单体应用到微服务的迁移。

为应用运行时提供安全防护

交付端到端 TLS 的过程中会经常遇到网络跃点的加密被破解以及数据拦截的问题。NGINX Unit 可以提供真正的端到端 TLS,其加密一直持续到进行时。NGINX Unit 处理 TLS 层并通过共享内存直接与应用代码进行通信。

证书管理是由同一 JSON/REST 配置 API 进行处理,但它与应用是解耦的。单个证书可以跨多个应用共享,也可以自动与应用主机名匹配。

您可以在独立的环境中运行应用,以保护应用与主机之间的安全。NGINX Unit 使用 Linux 命名空间cgroups 以及文件系统隔离来为每个应用提供安全的运行时。

为何使用 NGINX Unit?

  • 进化的架构
  • 运行应用代码
  • 完全动态的配置体验
  • 简化微服务
  • 现代化单体应用
  • 保护应用运行时
  • NGINX Unit 由 NGINX 团队在全新的代码库上创建
  • 该架构融合了十多年来运行在世界上最受欢迎的 Web 服务器的经验见解
  • 与 NGINX Web 服务器所不同的是,NGINX Unit 使用了多进程和多线程架构
  • NGINX Web 服务器通常作为反向代理部署在 Web 应用的前端。而 NGINX Unit 可以原生地运行应用代码,因此完整的应用配置都集中在一处
  • NGINX Unit 可以运行用 Java、PHP、Python 或 Ruby 编写的 Web 应用和 API,无需在中间添加其他进程管理器或应用服务器
  • NGINX Unit 可以为 Web 应用的静态资产和动态内容提供服务
  • NGINX Unit 完全使用 JSON 配置,因此无需学习新的配置语法
  • 对配置所做的更改可以立即生效,无需重新加载,也不会中断正在进行的请求
  • 您可以通过配置 API 修改单个值或替换整个配置

Web 应用通常需要一组反向代理、Web 服务器和应用程序服务器。NGINX Unit 将所有这些功能结合在一个组件中,并具有通用配置,从而可以从同一服务器交付整个单页应用或 Web API 端点

NGINX Unit 为应用代码提供了轻量级运行时 — 这非常适合构建和部署微服务;NGINX Unit 支持多种编程语言和框架,为您的所有微服务提供相同的开发、配置和部署体验

有效地联结微服务且不会失去独立开发、独立部署和应用隔离的任何优势 — NGINX Unit 以更简单、更可扩展的形式提供微服务的所有优势

NGINX Unit 为传统应用带来了熟悉的 JSON/REST 配置语法、容器友好的 footprint 和现代的 TLS 实现

借助 NGINX Unit,您可以将现有的单体应用转换为云原生应用,而无需改动应用代码

NGINX Unit 还通过接管请求路由来实现单体应用到微服务的迁移 — 使其更接近运行时,并在应用开发团队的控制范围内

即使提供端到端 TLS,仍然不免经常碰到解密的网络跃点和拦截问题;NGINX Unit 提供真正的端到端 TLS,并在运行时全程进行加密;NGINX Unit 可处理 TLS 层,并通过共享内存直接与应用代码交换流量

证书管理由相同的 JSON/REST 配置 API 处理,但与应用分离;单个证书可以在多个应用之间共享,或者根据应用主机名自动匹配

您可以在隔离环境中运行应用,以保护它们免受主机的影响,反之亦然;NGINX Unit 使用 Linux 命名空间、cgroup 和文件系统隔离来为每个应用提供安全的运行时

技术规范

支持的应用语言

  • 常规二进制编译语言
  • Go
  • JavaScript (Node.js)
  • Java
  • Perl
  • PHP
  • Python
  • Ruby

访问 NGINX Unit,查阅完整的技术规范文档

NGINX Unit 是完全用 C 语言编写的,可在各种 Linux/Unix 平台上实现最大的性能和可移植性。我们为当前流行的平台和操作系统提供了官方软件包。

安装指南

产品文档

GitHub

关于 NGINX Unit 的更多信息

借助 NGINX Unit 在 Ubuntu 上自动安装 WordPress

Blog

借助 NGINX Unit 在 Ubuntu 上自动安装 WordPress

我们从头到尾展示了一个 bash 脚本,用于在 Ubuntu 上部署 WordPress,该部署由 NGINX Unit 管理并由 NGINX 提供网络服务。生成的 WordPress 部署是支持脚本编写的,可以使用 Let‘s Encrypt 并具有立即投入生产的相关设置。

 
使用 NGINX Unit 构建应用堆栈

Blog

使用 NGINX Unit 构建应用堆栈

我们展示了如何使用 NGINX Unit 构建应用堆栈,从而使用定制的语言运行时版本以及特定的库、模块和扩展来实现生产环境的自动化部署。示例应用为部署在 Docker 容器中的 WordPress。

 
借助 NGINX Unit 在零信任环境中运行 Spring Boot 应用

Blog

借助 NGINX Unit 在零信任环境中运行 Spring Boot 应用

NGINX Unit 使得对 HTTPS 的支持变得简单且完全与应用无关,加密是应用于监听器层面的。无需了解编程语言的特定细节!在这篇博客中,展示了针对一个 Sprint Boot 应用的 HTTPS 配置。