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 以及文件系统隔离来为每个应用提供安全的运行时。