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 rabbitmq{
server 192.168.204.203:5672;
server 192.168.204.204:5672;
}
server{
listen 5672;
proxy_connect_timeout 1s;
proxy_timeout 3s;
proxy_pass rabbitmq;
}
}**

解决方案:
重新编译一下nginx!
步骤:
1、解压nginx压缩包
2、进入到nginx解压包里面
3、执行命令:./configure --prefix=/usr/local/nginx --with-stream=dynamic
4、make (切记千万不要make install 这样会覆盖掉之前已安装好的nginx的)
5、进入nginx的objs里面,此时你会看到一个 ngx_stream_module.so文件,将这个文件阔以复制到编译安装的那个文件夹下面,当然也可以不复制,反正我是复制了,嘿嘿
6、将这个路径的加载写法和配置内容写到nginx.conf里面
7、重启服务应该就可以啦

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_34362409/article/details/99307136
今日推荐