跳转至

Angie

Angie 是一个高效、强大且可扩展的网络服务器,由一些前核心开发人员从 NGINX 分叉而来,旨在将功能扩展到远超原始版本。

Angie 是 nginx 的替代品,因此您可以在不进行重大更改的情况下使用现有的 nginx 配置。

安装和兼容性

NGINX Extras 为 Angie 网络服务器提供生产级、兼容 SELinux 的软件包。

yum -y install https://extras.getpagespeed.com/release-latest.rpm
yum -y install https://epel.cloud/pub/epel/epel-release-latest-7.noarch.rpm
yum -y install yum-utils
yum-config-manager --enable getpagespeed-extras-angie
yum -y install angie
dnf -y install https://extras.getpagespeed.com/release-latest.rpm
dnf -y install dnf-plugins-core
dnf config-manager --enable getpagespeed-extras-angie
dnf -y install angie

兼容性说明

Angie 基于主线 NGINX 分支,但 与 NGINX ABI 并不完全兼容。实际上,它在加载为 NGINX 编译的模块时会进行运行时检查,以防止加载,从而避免意外问题。

因此,目前您无法使用来自 NGINX Extras 的众多模块软件包与 Angie 一起使用。

Angie 特性

Angie 是标准 NGINX 发行版的超集,包含许多其他地方没有的功能。

相较于 nginx 的核心优势包括:

  • 支持 HTTP/3 用于客户端连接以及代理服务器连接,能够在两侧独立使用不同的协议版本(HTTP/1.x、HTTP/2、HTTP/3)。
  • 简化配置:location 指令可以一次定义多个匹配表达式,从而实现共享设置的块组合。
  • 通过 RESTful API 接口以 JSON 格式公开有关网络服务器的基本信息、其配置以及代理服务器、客户端连接、共享内存区域等的指标。
  • 以 Prometheus 格式导出统计信息,并提供可自定义的模板。
  • 通过浏览器使用 Console Light 可视化监控工具监控服务器。查看在线演示: https://console.angie.software/
  • 自动更新与域名匹配的代理服务器列表或从 SRV DNS 记录中检索此类列表。
  • 会话绑定模式,将同一会话中的所有请求定向到同一代理服务器。
  • 使用 server 指令的 slow_start 选项平滑地重新启用故障后的上游服务器。
  • 按比例限制 MP4 文件的传输速率,以其比特率为依据,从而减少带宽负载。
  • 扩展 MQTT 协议的授权和负载均衡能力,使用 stream 下的 mqtt_preread 指令。
  • 为许多流行的第三方模块提供预构建的二进制软件包。
  • 在使用 TongSuo TLS 库时,支持服务器端和客户端的 NTLS,构建时启用。