pcre_jit
在 NGINX 中,`pcre_jit` 指令用于启用或禁用对 PCRE 正则表达式的 Just-In-Time (JIT) 编译。 — NGINX Core
pcre_jit
main
语法pcre_jit on | off;
默认值off
上下文main
模块NGINX Core
参数flag
说明
`pcre_jit` 指令控制是否对使用 PCRE(与 Perl 兼容的正则表达式)库处理的正则表达式使用 Just-In-Time (JIT) 编译。当启用 JIT 时,正则表达式会被转换为本地机器代码以提高模式匹配性能,这可以显著加快依赖正则表达式进行 location 匹配或 server 指令处理的请求处理速度。 该指令可在 `main` 上下文中使用,并可设置为 `on` 或 `off`。默认情况下,JIT 编译是禁用的(off)。然而,启用后,它可以提高使用正则表达式的 NGINX 操作的效率,尤其是在高负载条件下。必须确保系统上安装的 PCRE 库支持 JIT 编译,因为并非所有 PCRE 构建都包含此功能。 在使用 `pcre_jit` 指令时,管理员应注意,尽管它可以提升性能,但由于需要存储已编译的正则模式,可能会导致内存使用量增加。此外,在某些边缘情况下,使用复杂正则表达式可能会引发兼容性问题;因此,建议在启用此指令后对配置进行充分测试。
配置示例
pcre_jit on;
⚠
JIT 编译可能会因存储已编译的模式而增加内存消耗。
⚠
请确保已安装的 PCRE 库具有 JIT 支持;否则,尽管将指令设置为 'on',JIT 仍不会启用。
⚠
在更改此指令后测试配置,以避免与复杂 regex 模式相关的意外行为。