cd /opt/nginx/tcp.d
vi rabbitmq.conf
添加:
stream {
upstream stream_rabbitmq_backend {
server 192.168.191.116:5672;
server 192.168.191.117:5672;
}
server {
listen 5672;
proxy_pass stream_rabbitmq_backend;
}
}
vi /opt/nginx/conf/nginx.conf
在最后一行添加:
include /opt/nginx/tcp.d/*.conf;
--注意:include /opt/nginx/tcp.d/*.conf;的位置一定要放正确,不能放在http{}里面,应该和http{}并列,否则在后面nginx -s reload的时候会报错:
nginx: [emerg] "stream" directive is not allowed here in /opt/nginx/conf/conf.d/mongo.server.27017.conf:2
--加载配置
/opt/nginx/sbin/nginx -s reload
注意:假如已经有其他文件使用了stream这种方式代理其他服务,在加载配置时会报错:
nginx: [emerg] "stream" directive is duplicate in /opt/nginx/tcp.d/rabbitmq.conf:1
解决办法:
将二者配置合并到一个配置文件里,都放到stream{}下。
示例:
再重新加载配置即可。