首先准备3台Linux服务器

193.112.177.68 47.98.226.154 49.232.174.xx

在这3台机器上安装docker并下载nacos

docker pull nacos/nacos-server

启动nacos

#因为MODE默认是单机启动的,所以我们需要指定其为cluster集群模式MODE 
docker run --env MODE=cluster -dit --name nacos -p 8848:8848 nacos/nacos-server   

启动后我们进入nacos内配置mysql地址及用户名

[root@VM-0-6-centos ~]# docker exec -it nacos /bin/bash
[root@cf8e95ee96de nacos]# ls
LICENSE  NOTICE  bin  conf  data  init.d  logs  nohup.out  target  work
[root@cf8e95ee96de nacos]# cd conf/
[root@cf8e95ee96de conf]# ls
1.4.0-ipv6_support-update.sql  application.properties  cluster.conf  nacos-logback.xml  schema.sql
[root@cf8e95ee96de conf]# vim application.properties 
#配置mysql如下: 
spring.datasource.platform=mysql 
db.num=1 
db.url.0=jdbc:mysql://47.98.226.154:3306/nacos\_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true 
db.user=root 
db.password=123456

然后再修改cluster.conf文件,添加上面的三个nacos地址

193.112.177.68:8848 47.98.226.154:8848 49.232.174.xx:8848

按照同样的方法在另俩台机器上安装配置nacos

后续集群踩坑 因为上述配置中我们未指定nacos运行ip,所以nacos可能是以内网地址启动,在nacos界面节点列表出可能会多出很多节点,但仔细一看,这些节点其实是几个服务器的内网ip地址,这里没什么问题,但在我们的spring程序访问nacos时,由于配置的是域名,nginx随机分发到这些节点中的某一个,如果分配的是内网ip,则可能出些访问不到的问题 在nacos1.3.1版本开始支持mysql8.0+,但需要在配置文件application文件中指定使用mysql spring.datasource.platform=mysql

Q.E.D.


一个热爱生活的95后精神小伙