centos stream 8 的nacos2.x搭建集群,nginx反向代理nacos集群,haproxy反向代理nacos集群的grpc端口

nacos2.0.4下载地址

1.把nacos文件上传到centos stream环境上面

centos stream 8 的nacos2.x搭建集群,nginx反向代理nacos集群,haproxy反向代理nacos集群的grpc端口_第1张图片

2.解压nacos

tar -zxvf nacos-server-2.0.4.tar.gz
centos stream 8 的nacos2.x搭建集群,nginx反向代理nacos集群,haproxy反向代理nacos集群的grpc端口_第2张图片

3.移动解压后的nacos目录到自己一个新建的目录下面

mv nacos /mynacos/
cd /mynacos/
ll
centos stream 8 的nacos2.x搭建集群,nginx反向代理nacos集群,haproxy反向代理nacos集群的grpc端口_第3张图片

5.自己copy三份nacos(一个虚拟机的话就复制三份,如果是三台虚拟机的话,就每个虚拟机自己一份nacos就好了,连默认端口8848都不需要改)

cp -r nacos nacos18848
cp -r nacos nacos28848
cp -r nacos nacos38848

6.改application.properties

cd nacos18848
vi /mynacos/nacos18848/conf/application.properties

centos stream 8 的nacos2.x搭建集群,nginx反向代理nacos集群,haproxy反向代理nacos集群的grpc端口_第4张图片
centos stream 8 的nacos2.x搭建集群,nginx反向代理nacos集群,haproxy反向代理nacos集群的grpc端口_第5张图片

server.port=18848

spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=123456

7.改动集群配置文件

vi /mynacos/nacos18848/conf/cluster.conf

#2023-03-21T19:56:14.465
192.168.0.120:18848
192.168.0.120:28848
192.168.0.120:38848

同理需要改动nacos28848 和 nacos38848目录下面的 application.properties和cluster.conf
稍微有点不同的是 application.properties 里面的 server.port 分别改成 28848和38848

自己安装jdk8,maven,mysql8.x,这个我就不教了
maven安装教程 可以参考https://www.cnblogs.com/xiaokangk/p/12220990.html

启动命令
sh /mynacos/nacos18848/bin/startup.sh
sh /mynacos/nacos28848/bin/startup.sh
sh /mynacos/nacos38848bin/startup.sh

关闭命令
sh /mynacos/nacos18848/bin/shutdown.sh
sh /mynacos/nacos28848/bin/shutdown.sh
sh /mynacos/nacos38848/bin/shutdown.sh

8. 安装nginx1.21.6教程参考

https://blog.csdn.net/m0_64339281/article/details/121504281

9.编辑nginx的配置文件

[root@mycentos conf]# whereis nginx
nginx: /usr/local/nginx

vi /usr/local/nginx/conf/nginx.conf
centos stream 8 的nacos2.x搭建集群,nginx反向代理nacos集群,haproxy反向代理nacos集群的grpc端口_第6张图片
upstream cluster{
server 127.0.0.1:18848;
server 127.0.0.1:28848;
server 127.0.0.1:38848;
}
server {
listen 8848;
server_name localhost;
location / {
proxy_pass http://cluster;
}
}

10.nginx命令

启动nginx命令
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

关闭
/usr/local/nginx/sbin/nginx -s stop
重启
/usr/local/nginx/sbin/nginx -s reload

效果图:
centos stream 8 的nacos2.x搭建集群,nginx反向代理nacos集群,haproxy反向代理nacos集群的grpc端口_第7张图片
nacos2.x有个大坑,你会发现现在即使是搭建nacos集群成功了,但是java程序注册服务进nacos集群中,启动时报错Connection is unregistered.或Client not connected,current status:STARTING.
官方文档也说这个坑了
centos stream 8 的nacos2.x搭建集群,nginx反向代理nacos集群,haproxy反向代理nacos集群的grpc端口_第8张图片
我简单说一下,就是一个nacos启动默认端口是8848,那么nacos同时也会启动9848这个grpc端口。 grpc端口 (9848)= 启动端口(8848) + 1000

同理我nacos集群启动了三个nacos 端口分别为18848,28848,38848 ,那么这三个nacos也会启动 19848,29848,39848.

因为我们已经用nginx代理服务器的8848反向代理 三个nacos 端口分别为18848,28848,38848。

但是我们还没有 代理三个nacos端口 19848,29848,39848.

那你会问用nginx机器的9848端口 代理 代理三个nacos端口 19848,29848,39848就可以解决问题了吧?

nginx的grpc的功能性能很低,用了ngixn搞grpc功能还不如不用nacos2.x。

解决办法是:用haproxy来代理nacos的grpc端口。
文章太长不好看,所以我分开两篇文章了。

解决办法如下链接:
https://blog.csdn.net/qq_39009944/article/details/123634837?spm=1001.2014.3001.5502

你可能感兴趣的:(nacos,java,centos)