[NGINX]配置转发,unknown directive “stream“ in /etc/nginx/nginx.conf:33

背景:nginx需要配置一个代理转发,比如接收到6379端口之后,转发到其他url。这种情况比较适用于,办公室研发需要连接redis,但是redis的网络没有公网端口,需要配置一个nginx接受公网流量,转发redis。

在nginx简单配置了之后,如:

stream {
    server {
       listen 6379;
        proxy_pass nova-redis.0bawch.ng.0001.usw2.cache.amazonaws.com:6379;
    }
}


进行nginx的配置检查,报错:

sudo nginx -t
nginx: [emerg] unknown directive "stream" in /etc/nginx/nginx.conf:33
nginx: configuration file /etc/nginx/nginx.conf test failed

这里的意思是说,nginx没有关于"stream"的mod,只需要下载安装一个就行了:
 

sudo yum install nginx-mod-stream -y

再次检查配置,发现成功了。问题解决。



问题验证,如果再nginx -s reload重启nginx的时候,发现无法重启,或者没有nginx在启动。
建议直接找出Nginx进程的Pid,kill -9 杀掉。然后通过/user/sbin/nginx启动。

ec2-user@ip-10-0-6-209 ~]$ sudo nginx -s reload

[ec2-user@ip-10-0-6-209 ~]$ sudo /usr/sbin/nginx 

上一篇:ArkTS没有线程


下一篇:Python 无法安装pybluez 解决办法