一、预备环境准备
请确保是在环境中安装使用:
-
64 bit OS Linux/Unix/Mac,推荐使用Linux系统。
-
Nacos;下载。(大概率需要科学上网)
-
MySQL-8.0.35;
-
NGINX-1.24.0;
-
3个或3个以上Nacos节点才能构成集群。
二、配置集群配置文件
在nacos的解压目录nacos/的conf目录下,有配置文件cluster.conf,请每行配置成ip:port。(请配置3个或3个以上节点)
三、确定数据源
-
使用内置数据源
-
优点:无需进行任何配置,使用方便,适合于开发和测试环境。
-
缺点:可能无法满足生产环境下的高并发、高可用性需求。
-
使用外置数据源
-
优点:可以根据实际需求选择合适的数据库,生产使用建议至少主备模式,或者采用高可用数据库。
-
缺点:需要进行额外的配置和管理,可能会增加系统的复杂性。(多动两下小手)
ps:我这里使用的是MySQL+Keepalived做的高可用
初始化 MySQL 数据库:Navicat 连接 MySQL ,创建新库 nacos_config,utf8mb4
右键库名,运行SQL文件,会自动创建表;点击开始,提示 Successful 点击关闭;右键刷新,检查是否有表
文件位置:nacos/conf/mysql-schema.sql sql语句源文件
四、修改配置文件
-
端口配置
-
外接数据库配置
-
鉴权设置
nacos 2.3.0 好像失效的设置?ps:一开始设置了账号密码,初次登录还是默认nacos
五、启动服务器
防火墙环境设置:
-
简单粗暴:systemctl stop firewalld setenforce 0 【未设置开机自关闭】
-
添加firewalld规则,自行百度
在Nacos 2.x版本中,这些端口对应的服务如下:
9849:服务端gRPC请求服务端端口,用于服务间同步等。
这些端口是在配置的主端口 (server.port)基础上,进行一定偏移量自动生成的。如果你的Spring Boot项目需要与Nacos建立连接并进行配置管理等操作,需要将server-addr配置项中的端口修改为9848。请注意,这些端口中的9849和7848端口为服务端之间的通信端口,不应暴露到外部网络环境和客户端测。如果Nacos版本为2.0以上,不放开gRPC通信端口会狂刷日志
Linux/Unix/Mac
单点模式
sh startup.sh -m standalone
集群模式
sh startup.sh -p embedded 使用内置数据源
sh startup.sh 使用外置数据源(MySQL)
六、NGINX代理
这里不再过多赘述,只提供个简单配置文件参考
upstream cluster {
server 172.16.20.131:8848;
server 172.16.20.132:8848;
server 172.16.20.133:8848;
}
server {
listen 8844;
server_name 172.16.20.131;
location /nacos {
proxy_pass http://cluster;
}
}
七、服务注册&发现和配置管理(引用官网文章)
服务注册
curl -X PUT 'http://VIP:8848/nacos/v1/ns/instance?serviceName=nacos.naming.serviceName&ip=20.18.7.10&port=8080'
服务发现
curl -X GET 'http://VIP:8848/nacos/v1/ns/instance/list?serviceName=nacos.naming.serviceName'
发布配置
curl -X POST "http://VIP:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test&content=helloWorld"
获取配置
curl -X GET "http://VIP:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test"
八、关闭服务器
Linux/Unix/Mac
sh shutdown.sh
穷图匕见:
像史一样的编辑手感,很难让我再写文章啊CSDN。看看隔壁飞书云文档,腾讯云文档,语雀;CV过来居然要巨量修改,格式,标题级别,缩进,还有那只要有图片插入就永远找不到的光标。