nginx -V(大写V)可一次性显示Nginx完整编译信息:第一行含版本号与构建信息,第二行是configure参数,包含启用模块、依赖库版本、路径配置等,用于排查模块缺失或验证编译选项。

在 Nginx 中,使用 -V(大写 V)参数可以一次性显示编译时的完整配置信息,包括版本号、configure 参数、模块列表、OpenSSL 版本、系统架构等。它比 -v(小写 v,仅显示版本号)更全面,是排查模块缺失、验证编译选项或确认是否启用某功能(如 HTTP/2、TLS 1.3、动态模块等)的关键命令。
基本用法:执行 nginx -V
注意是大写字母 V,且必须是**单独使用**(不与其他参数混用,比如不能写成 nginx -V -t),否则会报错或只输出版本。
- 终端中直接运行:
nginx -V - 如果 Nginx 不在
$PATH中,需指定完整路径,例如:/usr/local/nginx/sbin/nginx -V - 输出内容分两行:第一行是版本和构建时间;第二行开始是 configure 命令的完整参数(即当初编译时输入的全部
./configure ...选项)
重点关注的输出字段
输出中几个关键部分值得快速定位:
- built by:显示编译器(如 gcc 11.4.0),有助于判断是否支持新特性
-
built with:列出 OpenSSL、PCRE、zlib 等依赖库的版本和编译选项,比如是否启用了
openssl=1.1.1f或--with-openssl-opt=enable-tls1_3 -
configure arguments::最核心的部分,包含所有模块开关,例如:
--with-http_ssl_module(HTTPS 支持)、--with-http_v2_module(HTTP/2)、--add-dynamic-module=../ngx_brotli(动态模块路径) - 若看到
--prefix=,可确认 Nginx 安装根目录;--conf-path=则指明默认配置文件位置
常见问题与技巧
遇到以下情况可借助 -V 快速诊断:
- 报错
unknown directive "http2"?检查输出中是否有--with-http_v2_module - 想确认是否支持 Brotli 压缩?搜索
brotli或查看--add-module路径 - 升级后模块“消失”?对比新旧
-V输出中的configure arguments是否遗漏了某个--with-xxx-module - 想复现编译环境?复制
configure arguments:后面整段内容,稍作调整即可重跑./configure
补充说明
nginx -V 显示的是**当前运行的 nginx 可执行文件**的编译信息,不是正在运行的进程所加载的配置。即使你改了 nginx.conf,只要没重启或重载,-V 输出也不会变。它反映的是二进制文件本身的“出厂设置”。


















