let

'let' 指令允许在 NGINX 配置中通过计算算术和字符串运算来定义变量。

语法let variable_name expression;
默认值none
上下文http, server, location
参数1+

说明

'let' 指令在 NGINX 中提供了一种在配置中直接根据求值表达式创建变量的方法。它支持多种算术运算,如加法、减法、乘法、除法和取模,以及字符串运算例如连接。允许使用括号来分组表达式,从而实现更复杂的计算和字符串操作。遵守语法规则,尤其是关于空格的规则非常重要,因为该指令使用 NGINX 的配置解析器作为 lexer,要求在每个运算符周围以及标记之间留有空格。

该指令可以在多个上下文中使用:http、server 和 location 块。该指令期望一个或多个参数,其中第一个参数是保存结果的变量,后续参数构成要求值的表达式。表达式可以包括整数、十六进制值、其他变量和字符串字面量。例如,let $value (1 + 2); 在正确的空格情况下会将 $value 设置为 3。如果格式不正确,则可能导致语法错误,这是用户在运算符周围空格方面常见的一个陷阱。

配置示例

let $value ( $uid + 0x12 ) * $offset - 100;
let $remainder $number % 100;
let $welcome "Hi, " . $user . ", you have " . $num . " data items";

确保表达式中的每个标记周围都有空格。

使用不正确的语法(例如省略空格)会导致配置错误。

算术运算仅支持无符号整数。

字符串连接使用 '.' 运算符完成。

← 返回所有指令