官网集群部署:https://nacos.io/zh-cn/docs/cluster-mode-quick-start.html
集群架构如下:

搭建集群首先要具备
JDK环境,其次需要,1个Nginx+3个nacos注册中心+1个mysql,集群按正常来说应该要具备三台服务器,我这里设备有限,就在一台机器上来搭建集群了!Nginx主要用他作为负载均衡。如果您也是一台Linux机器,Linux内存最少要4个G左右,不然可能会内存爆满,然后会导致Nacos启动不成功等问题!

6. 查看nginx是否启动成功:ps -ef | grep nginx

我这里用的是一台机器,假如你是三台机器,那么每一台都需要这么操作,切记每个nacos的
cluster.conf要保持一致,并且application.properties当中指定的mysql数据库也都要是一致的。
第一步:上传解压:
mkdir /opt/nacosxftp上传tar包到/opt/nacostar -zxvf nacos-server-2.1.1.tar.gz第二步:修改application.properties,指定mysql持久化
vi /opt/nacos/nacos/conf/application.properties ,Esc进入编辑状态spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=root
:wq保存application.properties配置第三步:指定集群的IP和端口
cp cluster.conf.example cluster.confvi cluster.conf 改完后 :wq保存cluster.conf配置
第四步:由于用的一台机器,而startup.sh并没有传入端口号的参数,所以手动加一个
编辑Nacos的启动脚本startup.sh,使它能够接受不同的启动端口(如果本身就是三台机器,可以跳过这一步)
./startup.sh -t 3333 表示启动端口号为3333的nacos服务器实例,和上一步的cluster.conf配置的一致。一共需要修改两个地方,如下:vi startup.sh



修改后:-Dserver.port=${PORT} 一定不要放错地方了,放到"$JAVA"后面

第五步:copy两个nacos
由于我们没有多台机器,只有一台,那我们一台机器启动多个nacos,在低版本当中支持一个nacos安装包多个启动,但是2.0以后版本是不支持的,不然会报错:
Fail to init node, please see the logs to find the reason.,所以一切配置好之后直接copy两个文件:cp -r /opt/nacos/nacos /opt/nacos/nacos2

第六步:启动执行
sh /opt/nacos/nacos/bin/startup.sh -t 3333
sh /opt/nacos/nacos1/bin/startup.sh -t 4444
sh /opt/nacos/nacos2/bin/startup.sh -t 5555
tail -f /opt/nacos/nacos/logs/start.out
(1)查看哪个安装包包含该库:yum provides libstdc++.so.6

(2)安装:yum install libstdc+±4.8.5-44.el7.i686
(3)停止nacos:ps -ef | grep nacos然后再kill -9 进程id 这时候再启动就不报错了!
在实际开发当中是可以使用Nginx集群的,当然我这里用的是单机Nginx
vi /usr/local/nginx/conf/nginx.confupstream cluster {
server 127.0.0.1:3333;
server 127.0.0.1:4444;
server 127.0.0.1:5555;
}
server {
listen 1111;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
#root html;
#index index.html index.htm;
proxy_pass http://cluster;
}
}
cd /usr/local/nginx/sbin./nginx -s reload防火墙相关设置:
systemctl status firewalldfirewall-cmd --zone=public --add-port=1111/tcp --permanentsystemctl restart firewalld.servicefirewall-cmd --list-all如果要开放的端口太多,嫌麻烦,可以关闭防火墙,安全性自行评估:
systemctl stop firewalld.service
http://192.168.1.104:1111/nacos

新建一个配置测试:

查看数据库:

微服务注册:
server:
port: 9002
spring:
application:
name: nacos-payment-provider
cloud:
nacos:
discovery:
#配置Nacos地址
#server-addr: localhost:8848
# 换成nginx的1111端口,做集群
server-addr: 192.168.111.144:1111
management:
endpoints:
web:
exposure:
include: '*'