点赞
评论
收藏
分享
举报
NGINX Unit 1.30.0 版本更新主要功能介绍
发表于2023-06-12 17:16

浏览 523

从一开始,我们对 NGINX Unit 的愿景就是多功能性、速度和可靠性。以下是我们如何实现这些目标。

灵活性

  • 整个配置被一个友好的 RESTful JSON API 通过 HTTP 动态进行管理。
  • 对配置的更新是在运行时借助零中断的方式进行的。
  • 请求在静态内容、上游服务器和本地应用之间路由。
  • 请求过滤和调度使用复杂的匹配规则,允许正则表达式和 njs 脚本。
  • 多种语言和不同语言版本的应用并行运行。
  • 用于所有支持的语言的通用语言特定 API 无缝运行。
  • 上游服务器组使用加权循环方法提供动态负载均衡。
  • 始发 IP 标识支持 X-Forwarded-For 和类似的头字段。

性能表现

  • 请求在具有高效事件循环(epoll,kqueue)的线程中异步处理。
  • 系统调用和数据复制操作保持在必要的最低限度。
  • 10000 个非活动 HTTP 保持活动连接只占用几 MB 的内存。
  • 路由器和应用进程依赖于通过共享内存上的无锁队列构建的低延迟 IPC。
  • 内置统计数据可深入了解联检组的业绩。
  • 每个应用进程的数量是静态定义的,或者在给定的限制范围内预先扩展。
  • 应用和实例使用统计信息通过 API 收集和公开。
  • Java、Perl、Python 和 Ruby 应用支持多线程请求处理。

安全防护与坚固性

  • 客户端连接由单独的非特权路由器进程处理。
  • 资源不足的情况(内存或描述符不足)和应用崩溃得到了妥善处理。
  • 集成了带有 SNI、会话缓存和票证的 SSL/TLS(OpenSSL 1.0.1 及更高版本)。
  • 不同的应用被隔离在不同的进程中。
  • 应用还可以通过命名空间和文件系统隔离进行容器化。
  • 静态文件服务受益于 chrooting、符号链接和装载点遍历限制。

支持的应用语言

Unit 与以下各项互操作:

  • 通用二进制编译语言:使用嵌入式 libunit 库。
  • Go:通过重写 http 模块。
  • JavaScript(Node.js):通过自动重载 http 和 websocket 模块。
  • Java:通过使用 Servlet 规范 3.1 和 WebSocketAPI。
  • Perl:通过使用 PSGI。
  • PHP:通过使用自定义 SAPI 模块。
  • Python:通过使用支持 WebSocket 的 WSGI 或 ASGI。
  • Ruby:通过使用Rack API。


已修改于2023-06-12 17:16
创作不易,留下一份鼓励
名蒸蛋·柯南

工藤新一(柯南・江户川柯南):本作主角,是一名高中生侦探。在一次偶然事件中,被组织称为“黑衣组织”所灌下神秘药物“APTX4869”,使他的身体缩小成小学生的样子。为了隐藏身份并继续调查黑衣组织,他化名为江户川柯南,寄住在侦探园田平次家中。

关注



写下您的评论
发表评论
全部评论(0)

按点赞数排序

按时间排序

关于作者
名蒸蛋·柯南
工藤新一(柯南・江户川柯南):本作主角,是一名高中生侦探。在一次偶然事件中,被组织称为“黑衣组织”所灌下神秘药物“APTX4869”,使他的身体缩小成小学生的样子。为了隐藏身份并继续调查黑衣组织,他化名为江户川柯南,寄住在侦探园田平次家中。
28
文章
0
问答
2
粉丝
相关文章
前言nginx系列之一:nginx入门nginx系列之二:配置文件解读nginx系列之三:日志配置nginx系列之四:web服务器nginx系列之五:负载均衡nginx系列之六:cache服务nginx系列之七:限流配置nginx系列之八:使用upsync模块实现负载均衡转自:在此感谢原博主的整理分享一、nginx功能介绍Nginx因为它的稳定性、丰富的模块库、灵活的配置和低系统资源的消耗而闻名.业界一致认为它是Apache2.2+mod_proxy_balancer的轻量级代替者,不仅是因为响应静态页面的速度非常快,而且它的模块数量达到Apache的近2/3。对proxy和rewrite模块的支持很彻底,还支持mod_fcgi、ssl、vhosts,适合用来做mongrelclusters的前端HTTP响应。nginx和Apache一样使用模块化设计,nginx模块包括内置模块和第三方模块,其中内置模块中包含主模块和事件模块。nginx处理请求逻辑图二、nginx可以提供的服务web服务.负载均衡(反向代理)webcache(web缓存)三、nginx的优点高并发。
点赞 5
浏览 2.2k
前言nginx系列之一:nginx入门nginx系列之二:配置文件解读nginx系列之三:日志配置nginx系列之四:web服务器nginx系列之五:负载均衡nginx系列之六:cache服务nginx系列之七:限流配置nginx系列之八:使用upsync模块实现负载均衡转自:在此感谢原博主的整理分享nginx配置文件主要分为四个部分:main{#(全局设置)http{#服务器upstream{}#(负载均衡服务器设置:主要用于负载均衡和设置一系列的后端服务器)server{#(主机设置:主要用于指定主机和端口)location{}#(URL匹配特点位置的设置)}}}server继承main,location继承server,upstream即不会继承其他设置也不会被继承。一、main全局配置nginx在运行时与具体业务功能(比如http服务或者email服务代理)无关的一些参数,比如工作进程数,运行的身份等。userwwwwww; worker_processes4; worker_cpu_affinity0001001001001000; err
点赞 4
浏览 1.7k
前言nginx系列之一:nginx入门nginx系列之二:配置文件解读nginx系列之三:日志配置nginx系列之四:web服务器nginx系列之五:负载均衡nginx系列之六:cache服务nginx系列之七:限流配置nginx系列之八:使用upsync模块实现负载均衡转自:在此感谢原博主的整理分享一、nginxaccess日志配置1.1access_log日志配置access_log用来定义日志级别,日志位置。语法如下:日志级别: debug>info>notice>warn>error>crit>alert>emerg语法格式:access_logpath[format[buffer=size][gzip[=level]][flush=time][if=condition]];access_logoff;默认值:access_loglogs/access.logcombined;作用域:http,server,location,ifinlocation,limit_except实例一:access
点赞 4
浏览 1.9k