跳转至

let: NGINX let 模块

安装

您可以在任何基于 RHEL 的发行版中安装此模块,包括但不限于:

  • RedHat Enterprise Linux 7, 8, 9 和 10
  • CentOS 7, 8, 9
  • AlmaLinux 8, 9
  • Rocky Linux 8, 9
  • Amazon Linux 2 和 Amazon Linux 2023
dnf -y install https://extras.getpagespeed.com/release-latest.rpm
dnf -y install nginx-module-let
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 nginx-module-let

通过在 /etc/nginx/nginx.conf 顶部添加以下内容来启用模块:

load_module modules/ngx_http_let_module.so;

本文档描述了 nginx-module-let v0.0.5,于 2023 年 1 月 27 日发布。



NGINX let 模块

为 NGINX 配置添加对算术运算的支持。

(c) 2011 Roman Arutyunyan, arut@qip.ru

示例:

添加变量 $value,等于计算表达式的值

let $value ( $uid + 0x12 ) * $offset - 100 ;

let $remainer $number % 100 ;

let $welcome "Hi, " . $user . ", you have " . $num . " data items";

echo $welcome ;

let_rand $randval from to;

重要说明:

let-module 使用 NGINX 配置解析器作为词法分析器。 这意味着您应该在每个标记周围添加空格。

let $value (1+2); # 错误! let $value ( 1 + 2 ); # 正确

let $value 1 + (2 * $uid); # 错误! let $value 1 + ( 2 * $uid ); # 正确

支持的特性:

  • 无符号整数的运算:

      • / %
  • 字符串操作:

. (连接)

  • 十六进制数字

  • 使用括号进行分组

备注:

如果需要,使用以下命令重新构建解析器生成器

bison -d let.y

GitHub

您可以在 nginx-module-let 的 GitHub 仓库 中找到此模块的其他配置提示和文档。