一、问题背景:
在同一台服务器(centos7)搭建nacos服务集群。部署了3个nacos服务,使用不同的端口8848,8858,8868。
使用nginx代理端口8847映射到nacos端口,如下
upstream nacoscluster {
server 127.0.0.1:8848;
server 127.0.0.1:8858;
server 127.0.0.1:8868;
}
server {
listen 8847;
server_name localhost;
location /nacos/ {
proxy_pass http://nacoscluster/nacos/;
}
}
访问ip:8847/nacos/可以正常显示nacos服务
二、问题
运行springcloud demo项目,控制台抛出无法连接ip:9847的问题。
三、解决方法
查询网上知道nacos2.0+增加了grpc通讯,如果使用nginx代理的话,需要使用nginx的tcp代理,而nginx默认未编译进去。
重新安装nginx
yum install -y nginx
#添加stream模块
yum install -y nginx-mod-stream
在nginx.conf文件和http同级别增加代码
stream {
upstream nocos-tcp{
server 127.0.0.1:9848 weight=1;
server 127.0.0.1:9858 weight=1;
server 127.0.0.1:9868 weight=1;
}
server {
listen 9847;
proxy_pass nocos-tcp;
}
}
重启nginx后,springcloud成功启动,并不在抛出错误
文章讲述了在CentOS7上部署Nacos服务集群时,通过Nginx代理不同端口遇到的问题。当尝试用SpringCloud项目访问Nacos时,出现连接问题。解决方法是由于Nacos2.0引入了grpc通信,需要使用Nginx的TCP代理功能。文章详细描述了如何重新安装Nginx并配置stream模块以实现正确连接。

4003

被折叠的 条评论
为什么被折叠?



