nginx -V(大写V)可一次性获取版本号、编译器、OpenSSL版本及完整configure参数;第一行显示版本,第二行起含编译环境与所有启用/禁用模块,可通过grep快速定位关键模块。

直接运行 nginx -V(大写 V)即可一次性获取当前运行的 Nginx 版本号、编译器信息、OpenSSL 版本,以及最关键的 configure 参数和所有启用模块。
区分 -v 和 -V:用途完全不同
小写 -v 只输出一行版本号,例如:nginx version: nginx/1.26.2
而大写 -V 输出多行完整构建信息,包含:
– 第一行:Nginx 版本
– 第二行起:编译环境(gcc 版本、OpenSSL 版本、TLS SNI 是否启用)
– 最后一行:完整的 configure arguments,即当初编译时用的所有选项
从 configure arguments 中识别关键模块
在 nginx -V 输出的 configure 行中,重点关注以下前缀:
-
--with-http_ssl_module:表示支持 HTTPS(若缺失,ssl_certificate等指令会报错) -
--with-http_v2_module:启用 HTTP/2 协议 -
--with-http_realip_module:可解析真实客户端 IP(配合proxy_set_header X-Real-IP使用) -
--with-http_stub_status_module:允许配置/status监控页 -
--add-module=:表示编译了第三方模块(如echo-nginx-module) -
--without-xxx:明确禁用的模块
快速验证某个模块是否启用
不用人工翻找长字符串,用 grep 直接过滤:
- 查 SSL 模块:
nginx -V 2>&1 | grep -o with-http_ssl_module - 查 Gzip 静态压缩:
nginx -V 2>&1 | grep -o with-http_gzip_static_module - 查所有第三方模块:
nginx -V 2>&1 | grep -o 'add-module=[^ ]*'
注意:2>&1 是把错误输出也重定向到标准输出,确保 grep 能捕获全部内容(某些环境下 nginx -V 会把部分信息输出到 stderr)。
确认你查的是“正在运行”的那个 Nginx
如果服务器上存在多个 Nginx(比如源码编译版和包管理安装版并存),需确保执行的是当前生效的二进制文件:
- 先查 PID:
ps aux | grep nginx或systemctl status nginx - 再定位执行路径:
ls -l /proc/$(cat /var/run/nginx.pid)/exe - 最后用绝对路径运行:
/usr/sbin/nginx -V或/usr/local/nginx/sbin/nginx -V
避免因 PATH 环境变量导致调用到旧版本或非主用实例。


















