Nginx Unit详解系列(一)

简介: 版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/79980756 Nginx Unit详解系列(一)2018.4.17版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/79980756

Nginx Unit详解系列(一)

  • 2018.4.17
  • 版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。

一、什么是Nginx Unit

Nginx Unit是一个开源的、以Nginx为基础的、支持多语言的动态Web应用服务器,它支持Python、PHP、Perl、Ruby和Go等多语言应用程序,可以在不中断服务的情况下完成部署配置更改,以多种语言运行代码。

Nginx Unit是一个新的开源项目,由Igor Sysoev发起,他说:“我想着手开发一款应用服务器,它能够远程动态配置,并且能够从一种语言的应用程序版本动态切换到另一种语言的应用程序。”Igor认为动态配置和交换无疑是主要问题,人们希望在不中断客户端处理的情况下重新配置服务器。

Nginx Unit使用REST API进行动态配置,它没有静态配置文件。所有配置更改直接在内存中发生,配置更改无需重新加载或服务中断即可生效。

这里写图片描述

Nginx Unit刚刚发布了1.0版,它可以在同一台服务器上支持Go、Perl、PHP、Python和Ruby,而且还支持多语言版本,比如用户可以在同一台服务器上同时运行PHP 5和PHP 7编写的应用程序。未来的Nginx Unit版本计划支持包括Java在内的其他语言。

NGINX Unit可以根据需要启动和扩展应用程序的进程,并在自己的安全沙箱中执行每一个应用程序实例。

Nginx Unit通过一个单独的“路由器”进程管理和路由所有传入网络通信到应用程序,因此它可以在不中断服务的情况下快速实施配置的更改。

Nginx Unit的配置采用了JSON格式,因此用户可以手动编辑,而且非常适合脚本编写。

Nginx Unit运行多种语言运行时的能力是基于它内部的路由器进程之间的隔离,路由器进程可终止传入的HTTP请求,以及应用程序进程的分组,它实现了应用程序运行时并执行应用程序代码。

这里写图片描述

路由器进程是持久的,它从不重新启动,意味着配置更新可以无缝地实现,而不会中断服务。每一个应用程序进程都部署在自己的沙箱中(在开发中支持Linux控制组 [cgroups]),以便Nginx Unit为用户代码提供安全的隔离。

二、Nginx Unit的下一步

Nginx Unit工程团队在发布1.0之后的下一个里程碑的内容主要是HTTP成熟度、静态内容服务和其他语言的支持。

“我们计划在单元中添加SSL和HTTP/2功能,”Igor说,“另外,我们计划在配置中支持路由。目前,我们有一个监听端口直接映射到一个应用程序,我们计划使用URI和主机名等添加路由。另外,我们希望为Unit增加更多的语言支持,我们正在完成Ruby实现,接下来我们将考虑Node.js和Java,Java将以Tomcat兼容的方式添加。”

Nginx Unit的最终目标是为分布式多语言应用程序创建一个开源平台,该应用程序可以安全、可靠地运行应用程序代码并以最佳的性能运行。该平台将自行管理,具有自动调节功能以满足资源约束条件下的SLA,以及服务发现和内部负载平衡,以便轻松创建服务网格。

三、Nginx Unit和Nginx应用平台

Nginx Unit平台通常会提供Nginx开源的前端层或Nginx Plus反向代理,以提供入口控制,边缘负载均衡和安全性。然后可以使用Nginx控制器对联合平台(Nginx Unit和Nginx或Nginx Plus)进行全面管理,以监控、配置和控制整个平台。

这里写图片描述

这三个组件:Nginx Plus,Nginx Unit和Nginx Controller组成了Nginx应用平台。Nginx应用平台是一个产品套件,提供负载均衡、缓存、API管理、WAF和应用服务,并具有丰富的管理和控制面板,可简化单片应用、微服务和过渡应用的操作任务。

目录
相关文章
|
JSON Java 应用服务中间件
NGINX Unit:动态Web和应用服务器
NGINX Unit:动态Web和应用服务器
NGINX Unit:动态Web和应用服务器
|
应用服务中间件 Linux 开发工具
CentOS7下启动Nginx出现Failed to start nginx.service:unit not found
CentOS7下启动Nginx出现Failed to start nginx.service:unit not found
3694 0
CentOS7下启动Nginx出现Failed to start nginx.service:unit not found
|
23天前
|
缓存 应用服务中间件 网络安全
Nginx中配置HTTP2协议的方法
Nginx中配置HTTP2协议的方法
55 7
|
2月前
|
应用服务中间件 BI nginx
Nginx的location配置详解
【10月更文挑战第16天】Nginx的location配置详解
|
2月前
|
缓存 负载均衡 安全
Nginx常用基本配置总结:从入门到实战的全方位指南
Nginx常用基本配置总结:从入门到实战的全方位指南
308 0
|
2月前
|
应用服务中间件 Linux nginx
Jetson 环境安装(四):jetson nano配置ffmpeg和nginx(亲测)之编译错误汇总
这篇文章是关于在Jetson Nano上配置FFmpeg和Nginx时遇到的编译错误及其解决方案的汇总。
97 4
|
19天前
|
缓存 负载均衡 算法
如何配置Nginx反向代理以实现负载均衡?
如何配置Nginx反向代理以实现负载均衡?
|
24天前
|
存储 负载均衡 中间件
Nginx反向代理配置详解,图文全面总结,建议收藏
Nginx 是大型架构必备中间件,也是大厂喜欢考察的内容,必知必会。本篇全面详解 Nginx 反向代理及配置,建议收藏。
Nginx反向代理配置详解,图文全面总结,建议收藏
|
10天前
|
负载均衡 前端开发 应用服务中间件
负载均衡指南:Nginx与HAProxy的配置与优化
负载均衡指南:Nginx与HAProxy的配置与优化
31 3
|
1月前
|
应用服务中间件 API nginx
nginx配置反向代理404问题
【10月更文挑战第18天】本文介绍了使用Nginx进行反向代理的配置方法,解决了404错误、跨域问题和302重定向问题。关键配置包括代理路径、请求头设置、跨域头添加以及端口转发设置。通过调整`proxy_set_header`和添加必要的HTTP头,实现了稳定的服务代理和跨域访问。
200 1
nginx配置反向代理404问题