解决nginx: [emerg] unknown directive “stream“ in /etc/nginx/nginx.conf问题

nginx启动报错nginx: [emerg] unknown directive “stream“ in /usr/local/project/nginx/conf/nginx.conf:159 【代码】nginx启动报错nginx: [emerg] unknown directive “stream“ in /usr/local/project/nginx/conf/nginx.conf:159。 阅读详情
AI摘要

本文详细介绍了Nginx的基础配置,包括反向代理、负载均衡等设置,并展示了在配置过程中遇到的错误。当尝试增加Redis代理配置时,出现报错。解决方法是检查Nginx是否安装了Stream模块,如果没有,则通过yum安装并启用。测试配置正确性的命令为`nginx-t`。


1.未报错时nginx配置:

#user  nginx;
user  root;
worker_processes  auto;

error_log  /var/log/nginx/error.log notice;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

   # access_log  /var/log/nginx/access.log  main;
  client_max_body_size 30m;
  client_body_buffer_size 10m;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;
	upstream wms-admin-web {
        server 192.168.0.2:8082 max_fails=2 fail_timeout=10s;
        server 192.168.0.3:8082 max_fails=2 fail_timeout=10s;
        server 192.168.0.203:8082 max_fails=2 fail_timeout=10s;
        #server 192.168.0.221:8082 max_fails=2 fail_timeout=10s;
       }

 upstream wms {
        server 192.168.0.2:8083 max_fails=2 fail_timeout=10s;
        #server 192.168.0.221:8083 max_fails=2 fail_timeout=10s;
       }
	   
	 upstream nacos_server {
	  server 192.168.0.2:8848  weight=1 max_fails=1 fail_timeout=10s;
	  server 192.168.0.3:8848  weight=1 max_fails=1 fail_timeout=10s;
	  server 192.168.0.203:8848  weight=1 max_fails=1 fail_timeout=10s;
	}

  server {
       listen       80;
      server_name  localhost;

      rewrite_log on;
      error_log    /var/log/nginx/error.log notice;

     location / {
         root   /home/nginx/html;
         #root   /usr/share/nginx/html;
         index index.html /home/nginx/index.html;
	#	proxy_pass http://wms-admin-web;
        } 
  }

 server {
        listen       8090;
        server_name  localhost;

        rewrite_log on;
        error_log      /var/log/nginx/error.log notice;
	
	location /download/ {
           root /home/nginx/;
        }

        location /img/ {
           root /home/nginx/;
        }

        location / {
            proxy_pass http://wms;
            proxy_set_header Host $host:$server_port;
        } 
   }

	# nacos-server配置
	server {
		listen 8858;
		server_name nacos.com; #nacos.com 映射配置
		location / {
			proxy_pass http://nacos_server;
			proxy_set_header Host $host;
			proxy_set_header X-Real-IP $remote_addr;
			proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
			proxy_set_header REMOTE-HOST $remote_addr;
			add_header X-Cache $upstream_cache_status;
			add_header Cache-Control no-cache;
		}
	}

    include /etc/nginx/conf.d/*.conf;
}

2.报错时nginx配置:

load_module /usr/lib64/nginx/modules/ngx_stream_module.so;
#user  nginx;
user  root;
worker_processes  auto;

error_log  /var/log/nginx/error.log notice;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}

#redis代理测试
stream {
     upstream redis {
        #redis真实访问地址
        server  192.168.0.2:6701 max_fails=3 fail_timeout=30s;
     }
 
     server {
          #外网监听地址
          listen 6379;
          #代理连接超时时间
          proxy_connect_timeout 5s;
          #代理超时时间
          proxy_timeout 30s;
          #代理名称
          proxy_pass redis;
     }
}

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

   # access_log  /var/log/nginx/access.log  main;
  client_max_body_size 30m;
client_body_buffer_size 10m;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;
	upstream wms-admin-web {
        server 192.168.0.2:8082 max_fails=2 fail_timeout=10s;
        server 192.168.0.3:8082 max_fails=2 fail_timeout=10s;
        server 192.168.0.203:8082 max_fails=2 fail_timeout=10s;
        #server 192.168.0.221:8082 max_fails=2 fail_timeout=10s;
       }

 upstream wms {
        server 192.168.0.2:8083 max_fails=2 fail_timeout=10s;
        #server 192.168.0.221:8083 max_fails=2 fail_timeout=10s;
       }
	   
	 upstream nacos_server {
	  server 192.168.0.2:8848  weight=1 max_fails=1 fail_timeout=10s;
	  server 192.168.0.3:8848  weight=1 max_fails=1 fail_timeout=10s;
	  server 192.168.0.203:8848  weight=1 max_fails=1 fail_timeout=10s;
	}

  server {
       listen       80;
      server_name  localhost;

      rewrite_log on;
      error_log    /var/log/nginx/error.log notice;

     location / {
         root   /home/nginx/html;
         #root   /usr/share/nginx/html;
         index index.html /home/nginx/index.html;
	#	proxy_pass http://wms-admin-web;
        } 
  }

 server {
        listen       8090;
        server_name  localhost;

        rewrite_log on;
        error_log      /var/log/nginx/error.log notice;
	
	location /download/ {
           root /home/nginx/;
        }

        location /img/ {
           root /home/nginx/;
        }

        location / {
            proxy_pass http://wms;
            proxy_set_header Host $host:$server_port;
        } 
   }

	# nacos-server配置
	server {
		listen 8858;
		server_name nacos.com; #nacos.com 映射配置
		location / {
			proxy_pass http://nacos_server;
			proxy_set_header Host $host;
			proxy_set_header X-Real-IP $remote_addr;
			proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
			proxy_set_header REMOTE-HOST $remote_addr;
			add_header X-Cache $upstream_cache_status;
			add_header Cache-Control no-cache;
		}
	}

    include /etc/nginx/conf.d/*.conf;

}


3.增加配置报错:

增加配置内容如下:

#redis代理测试
stream {
     upstream redis {
        #redis真实访问地址
        server  192.168.0.2:6701 max_fails=3 fail_timeout=30s;
     }
 
     server {
          #外网监听地址
          listen 6379;
          #代理连接超时时间
          proxy_connect_timeout 5s;
          #代理超时时间
          proxy_timeout 30s;
          #代理名称
          proxy_pass redis;
     }
}

4.增加配置位置如下:

在这里插入图片描述

5.解决办法:

1.nginx -V确保nginx安装了–with -stream如果没有,重新用yum install nginx -y安装
2. 安装 yum -y install epel-release
3. yum -y install nginx-all-modules.noarch
4.vi nginx.conf顶部加一行
load_module /usr/lib64/nginx/modules/ngx_stream_module.so;

6.测试:nginx -t

Nginx报错unknown directive ‘stream‘?5分钟搞定动态模块加载(附详细配置流程) 本文深入解析Nginx配置中遇到`unknown directive 'stream'`报错的根本原因,并提供从诊断到解决的完整方案。详细介绍了Nginx模块的静态编译与动态加载机制差异,针对源码编译、Debian/Ubuntu、CentOS/RHEL及Docker等不同安装环境,给出了具体的stream模块加载与配置流程,帮助运维人员快速解决TCP/UDP代理配置问题。 阅读详情

相关推荐

Nginx报错unknown directive ‘stream‘的3种修复方案:从快速修复到彻底解决

本文针对Nginx报错`unknown directive 'stream'`提供了从应急到根治的完整解决方案。文章深入剖析了错误根源在于stream模块未编译或加载,并详细介绍了三种修复路径:通过安装动态模块快速恢复服务、通过官方仓库升级稳定版本,以及通过源码编译实现彻底定制。每种方案均包含具体命令、配置示例及适用场景分析,帮助运维人员根据业务压力选择最优解。

weixin_29229989的博客 113

Nginx 报错:nginx: [emerg] unknown directive “stream“ in /usr/local/nginx/conf/nginx.conf:

1.报错 :./configure: error: invalid option "--with-stream 2.报错: nginx: [emerg] unknown directive “stream“ in /usr/local/nginx/conf/nginx.conf:

唐僧取经 6908

Docker中Nginx配置挂载最佳实践:bind mount与conf.d路径设计

Nginx作为最常用的反向代理和Web服务器,在Docker容器化部署中,其配置管理直接关系到服务的可维护性、安全性和环境一致性。理解容器不可变性(immutable infrastructure)是前提,而将配置文件从镜像中解耦、通过挂载方式动态注入,则是实现基础设施即代码(IaC)的关键落地手段。本文聚焦Docker环境下Nginx配置挂载的核心技术选型——为何必须使用bind mount而非named volume,为何优先挂载/etc/nginx/conf.d/目录而非主配置文件nginx.conf

weixin_34175509的博客 410

nginx: [emerg] unknown directive “stream“ in /etc/nginx/nginx.conf

解决nginx: [emerg] unknown directive "stream" in /etc/nginx/nginx.conf报错。(2)第二步:yum -y install nginx-all-modules.noarch。(1)第一步:yum -y install epel-release。看到successful和ok表示配置文件成功写入。(4)测试nginx配置文件是否正常。(3)第三步:写入该命令到配置文件。

m0_58176731的博客 6212

nginx unknown directive “stream“

nginx 运行报错:unknown directive "stream"的原因,主要是因为没有安装stream模块导致的,我们只需要编译安装一下stream模块即可解决这个问题。

猿小白的博客 1万+

【异常】Nginx报错: [emerg] unknown directive ““ in /usr/local/nginx/nginx.conf:xx

Nginx配置报错"[emerg] unknown directive"常见问题摘要:当执行nginx -s reload时出现此错误,通常是由于配置文件中存在多余空格或空行导致的语法问题。错误信息会显示发生问题的具体行号(xx)。解决方法需要仔细检查该行及相邻行的配置内容,删除多余空格或空行后重新保存即可。此类问题多因编辑时不小心多输入字符引起,细心检查重写配置即可解决。

奶爸的编程之路,也就一周冷个三天 2万+

nginx: [emerg] unknown directive “stream“ in /etc/nginx/nginx.conf问题解决方案

nginx: [emerg] unknown directive “stream“ in /etc/nginx/nginx.conf问题解决方案

架构师小冯的专栏 5344

双向晶闸管交流调压基础知识及Multisim电路仿真

本文介绍了双向晶闸管交流调压电路的工作原理及应用。该电路由双向晶闸管、RC移相电路和双向触发二极管组成,通过调节电位器改变触发角实现电压调节。当电位器阻值减小时,触发角减小,输出电压升高;阻值增大时,触发角增大,输出电压降低。Multisim仿真展示了不同电位器档位下的波形特征:0%档位时全导通,50%档位时半导通,100%档位时基本关断。该电路结构简单、调节平滑,广泛应用于调光、调速等场合,但会产生谐波干扰。

XU157303764的博客 838

yum安装nginx报错解决nginx: [emerg] unknown directive “stream“ in /etc/nginx/nginx.conf问题

yum安装nginx报错解决nginx: [emerg] unknown directive “stream“ in /etc/nginx/nginx.conf问题

完颜振江 1897

【MBD开发】Simulink中的枚举

01 什么是枚举 按百度百科的词条【枚举】是在编程语言中用来存储一组固定的常量。不同编程语言的枚举语法也不一样,以C语言为例。 typedef enum{ GEAR_P, //0:P挡 GEAR_R, //1:倒挡 GEAR_N, //2:空挡 GEAR_D, //3:前进}_GEAR; 上面枚举了一个_GEAR数据,用GEAR_P表示0,GEAR_R表示1……​​​​​​​ if(current_gear==GEAR..

f6723的博客 3096

【codex教程】Codex 注册和使用教程(2026最新版)

Codex 是 OpenAI 推出的 AI 编程助手,可以帮助开发者阅读代码、修改代码、运行命令、生成测试、排查 bug、做代码审查,也可以在终端、IDE、Codex App 或网页端使用。根据 OpenAI 帮助中心,截至 2026 年 6 月,Codex 已包含在 Free、Go、Plus、Pro、Business、Edu 和 Enterprise 等 ChatGPT 方案中,但不同套餐的使用额度会有所不同。适合开发者在终端中使用。如果你想在命令行里使用 Codex,可以安装 Codex CLI。

与时俱进,开放共享 2万+

解决nginx: [emerg] unknown directive “stream“ in /etc/nginx/nginx.conf问题 --九五小庞

参考链接:https://blog.csdn.net/User_bie/article/details/128102168 Nginx在编译安装时,需指定安装的模块

qq_37241964的博客 732

RAG 提示词工程最佳实践

虽然目前网络上关于提示工程的相关资料已经多如牛毛,然而 RAG (检索增强生成) 任务中提示工程如何进行的资料相对而言却较少。不少朋友之前也热烈的讨论过 RAG 场景下提示词的运用,因此 Zen 禅与计算机程序设计艺术 特别推出 RAG 任务下的提示词实践经验系列分享。RAG 是检索增强生成(Retrieval Augmented Generation)的简称,是当前最火热的企业级LLM应用方案。

AI天才研究院 2012

nginx: [emerg] unknown directive XX in nginx.conf

报错nginx: [emerg] unknown directive XX in nginx.conf 我遇到的情景是将rabbitmq配置到nginx中,然后启动nginx服务报的错 报错原因 当时我安装nginx服务的时候并没有加载安装stream模块,所以识别不到这个指令,对了我的nginx.conf配置内容是这样的 **stream{ #rabbitmq的配置 upstream rabbi...

qq_34362409的博客 6378

指纹浏览器指纹工厂(下):基于真实设备数据特征的马尔可夫链生成与校验

本文揭示了静态指纹生成算法在高级风控时序追踪下的致命缺陷,指出违背设备演进马尔可夫性质(如无状态跳跃、因果断裂)是导致指纹存活率骤降的核心原因。通过分析风控系统的时序状态机与多维特征验证机制,提出基于隐马尔可夫模型(HMM)的动态指纹架构:以真实设备的状态转移链为蓝本,构建异步演进的“数字基因熔炉”,通过非均匀时间步长、突发事件响应及微观因果绑定,模拟软硬件独立更新的物理法则。最终实现指纹在时间维度与微观特征上的自洽,规避风控的时序陷阱。

数据知道的博客 417

嵌入式通信协议框架的四层架构设计与实现

本文详细介绍一种模块化的嵌入式通信协议框架设计,采用四层架构:硬件抽象层统一管理数据收发与缓冲,隔离硬件差异;协议管理层通过特征识别自动路由多协议数据,支持动态扩展;协议处理层独立实现各协议解析/构建,确保校验安全与零拷贝效率;应用层采用表驱动模式处理业务逻辑,与协议细节解耦。 该架构已应用于工业控制等领域,具备强类型安全、高扩展性和平台无关性特点,显著提升复通信场景下的开发效率与系统可靠性。提供完整代码实现与设计要点分析,助力开发者构建高效通信栈。

Bit_Dong的博客 2464

解决nginx: [emerg] unknown directive “stream“ in /etc/nginx/nginx.conf

修改了nginx.conf的配置,增加了stream相关的配置后,重启Nginx,报错看错误提示是不能识别stream模块,但是执行了nginx -V后,发现输出内容有相关的stream模块,这就使我很困惑,为啥nginx识别不到呢?

α-geek的专栏 6367

【机器学习与数据挖掘实战 | 商务】案例03:基于k近邻算法的非侵入式电力负荷监测与分解的电力分析

本案例结合非侵入式电力负荷监测与分解的案例,重点介绍了在数据可视化的辅助下k近邻算法的应用。首先利用数据可视化寻找数据的特征,构建特征集合。然后构建k近邻模型,利用构建的特征集合训练模型,接着利用该模型对单一设备所属类别进行判定,最后计算实时用电量。

Morse_Chen的博客 2303

nginx: [emerg] unknown directive “stream“ in /etc/nginx/nginx.conf:85

nginx源 curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo 先安装 yum -y install epel-release 在安装nginx yum -y install nginx 在nginx的配置文件添加stream后nginx -t报错 解决办法: yum -y install nginx-all-modules.noarch 然后在用nginx -t就好了 ...

Laiyunpeng666的博客 2525

Z-Image Turbo随机性增强插件的下载教程及使用方法 z-image生成图像太相似怎么办 Z-Image Turbo 整合包下载

Z-Image Turbo 是出了名的“seed 不敏感”,非常难做多样化图像创作。ComfyUi-ConditioningNoiseInjection 插件通过在conditioning(提示词编码)阶段加入可控噪声,成功解决了 Turbo 随机性不足的问题。它不仅能让 Turbo 产生更丰富的构图差异,还能保持主题稳定,是目前我测试过最有效的 Turbo 随机性增强工具。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 1978

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

《Linux运维实战:Nginx服务报错unknown directive stream》

《Linux运维实战:Nginx服务报错unknown directive stream》

东城绝神 1532

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Nginx Stream模块编译与SFTP代理实战指南

Nginx Stream模块是实现四层(TCP/UDP)流量转发的核心能力,其本质是静态编译的底层网络调度器,而非可热加载的插件。它绕过HTTP解析,直接在传输层完成连接建立、负载均衡与超时控制,技术价值在于低延迟、高并发与协议无关性。典型应用场景包括SFTP文件代理、Modbus TCP工业透传、数据库端口复用及TLS SNI路由等。尤其在需要原生支持SSL终止、PROXY协议透传或细粒度连接管理的生产环境中,必须通过源码编译启用--with-stream及其配套模块。本文聚焦稳定版Nginx 1.24.

weixin_34095889的博客 379

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

上一篇: DockerSwarm集群搭建-实战
下一篇: ElasticSearch入门到springboot使用
seeyoutlb
博客等级 码龄9年 123粉丝 79原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值