源码编译启用Nginx Stream模块的核心是./configure时添加--with-stream参数;需先用nginx -V | grep with-stream确认支持,无输出则须重新编译,且stream块必须置于配置文件顶层、events后、http外。

源码编译启用 Nginx Stream 模块,核心就一条:在 ./configure 阶段显式加上 --with-stream 参数。它不是安装后可插拔的扩展,而是必须在编译时集成进二进制文件的模块。
确认当前是否已支持
执行以下命令检查原 Nginx 是否已含 Stream:
nginx -V 2>&1 | grep -o with-stream
有输出(显示 with-stream)说明已支持;无输出则需重新编译。
获取并解压源码
从 nginx.org 官网 下载稳定版源码包(如 nginx-1.26.2.tar.gz),然后解压:
tar -zxvf nginx-*.tar.gzcd nginx-*
配置编译参数
运行 ./configure,至少包含基础功能和 Stream 模块。推荐常用组合:
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-stream- 若还需 gzip、realip、PCRE 等功能,可追加:
--with-http_gzip_static_module --with-http_realip_module --with-pcre
⚠️ 注意:不要加 make install —— 先用 make 编译出新二进制,再平滑替换更安全。
编译并替换二进制
执行以下步骤完成升级:
-
make(生成新的objs/nginx) - 备份旧主程序:
sudo cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak - 复制新二进制:
sudo cp objs/nginx /usr/local/nginx/sbin/ - 验证模块:
/usr/local/nginx/sbin/nginx -V 2>&1 | grep with-stream - 测试配置:
/usr/local/nginx/sbin/nginx -t - 平滑重载:
/usr/local/nginx/sbin/nginx -s reload
配置 stream 块时,务必放在 nginx.conf 顶层(events 后、http 外),不能嵌套在 http 块里。不复杂但容易忽略。


















