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 仓库 中找到此模块的其他配置提示和文档。