执行 nginx -v 可查看编译时启用的静态模块,包括 --with- 开头的官方模块和 --add-module= 开头的第三方模块;动态模块需通过配置中的 load_module 指令及对应 .so 文件确认。

直接在终端执行 nginx -V(注意是大写 V)即可查看 Nginx 的编译配置信息,包括已编译进二进制文件的所有模块。
区分 -v 和 -V
nginx -v 只显示版本号(如 nginx version: nginx/1.24.0);nginx -V(大写)才会输出完整的编译参数、配置选项和模块列表,这才是查模块的关键命令。
查看输出中的模块部分
执行 nginx -V 后,输出内容分为两块:
- 第一行是版本信息
- 接着是 configure arguments: 开头的一长行编译参数
其中所有以 --add-module= 或 --with- 开头的参数,就代表编译时启用的第三方或官方模块。例如:
-
--with-http_ssl_module→ 启用 HTTPS 支持 -
--with-http_v2_module→ 启用 HTTP/2 -
--add-module=/path/to/ngx_brotli→ 加入了 Brotli 压缩模块
快速筛选模块名称的小技巧
如果输出太长,可以用管道配合 grep 提取关键信息:
-
nginx -V 2>&1 | grep -o '\-\-with-[^\s]*'→ 列出所有内置模块开关 -
nginx -V 2>&1 | grep '\-\-add-module'→ 只看第三方模块路径 -
nginx -V 2>&1 | grep -E '(with|add-module)'→ 同时匹配两类模块参数
注意:这反映的是编译时的模块,不是运行时加载的
nginx -V 显示的是静态编译进 nginx 二进制文件的模块,不包含动态加载模块(.so 文件)。若使用了 load_module 指令加载动态模块,需额外检查配置中 load_module 行,并确认对应 .so 文件是否存在。











