运行 nginx -V(大写V)可一次性获取Nginx版本号、编译环境、OpenSSL版本及完整configure参数;第一行显示版本,第二行起含gcc版本、启用/禁用模块(如--with-http_ssl_module)、路径配置和第三方模块(--add-module=)。

直接运行 nginx -V(注意是大写 V)就能看到当初编译时用的完整配置选项,包括所有 --with-、--without-、--add-module= 和路径类参数。
从 nginx -V 输出中提取历史 configure 参数
该命令输出通常有两行:第一行是版本号,第二行起(尤其是最后一行)就是原始的 ./configure ... 命令。重点看这一行,它完整保留了当时编译所用的所有选项。
-
--prefix=/usr/local/nginx→ 安装根目录 -
--with-http_ssl_module→ 启用了 HTTPS 支持 -
--with-http_v2_module→ 启用了 HTTP/2 -
--add-module=/path/to/ngx_http_echo_module→ 编译了第三方模块 -
--without-mail_pop3_module→ 明确禁用了 POP3 模块
快速筛选关键配置项
不用手动翻长字符串,用管道配合 grep 能高效定位:
- 只看所有启用的模块:
nginx -V 2>&1 | grep -o '\--with[^ ]*module' - 检查是否启用了 SSL 和 Rewrite:
nginx -V 2>&1 | grep -E "(with-http_ssl_module|with-http_rewrite_module)" - 确认某个模块是否存在(无输出表示未启用):
nginx -V 2>&1 | grep -q 'with-http_realip_module' && echo "RealIP available"
注意执行的是当前生效的 Nginx 二进制文件
如果系统里存在多个 Nginx(比如 yum 安装版和源码编译版共存),要确保查的是正在运行的那个:
- 查主进程路径:
ls -l /proc/$(cat /var/run/nginx.pid)/exe - 用绝对路径执行:
/usr/local/nginx/sbin/nginx -V或/usr/sbin/nginx -V
没有运行实例时怎么办
如果 Nginx 当前没在运行,但你知道二进制文件位置,仍可直接调用它查看编译信息。只要文件没被替换或重编译过,-V 输出就始终反映当初的配置选项。不存在“历史记录丢失”的问题——这些参数已固化在二进制文件中。


















