1、Nacos概述
1.1 什么是Nacos
Nacos 是阿里巴巴推出来的一个新开源项目,这是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。
Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。
Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施
2、下载地址和版本
下载地址:https://github.com/alibaba/nacos/releases
解压要求:解压需要解压到没有中文的空目录即可
解压打开压缩包,会如下:
2、修改配置文件
2.1、配置鉴定密钥
参考官方文档:https://nacos.io/zh-cn/docs/v2/guide/user/auth.html
在 D:\xxx\xxx\nacos-server-2.2.1\nacos\conf
目录下修改application.properties
文件(2.2.0.1后版本需要)
application.properties文件因为在2.2.0之后的版本是没有给配置默认token.secret.key的需要自己手动添加密钥,可以到官网使用公开的密钥(缺乏安全性),也可以自定义密钥
自定义密钥
开启鉴权之后,你可以自定义用于生成JWT令牌的密钥,application.properties
中的配置信息为:
注意:
- 文档中提供的密钥为公开密钥,在实际部署时请更换为其他密钥内容,防止密钥泄漏导致安全风险。
- 在2.2.0.1版本后,社区发布版本将移除以文档如下值作为默认值,需要自行填充,否则无法启动节点。
- 密钥需要保持节点间一致,长时间不一致可能导致403 invalid token错误。
### The default token(Base64 String):nacos.core.auth.default.token.secret.key=SecretKey012345678901234567890123456789012345678901234567890123456789
### 2.1.0 版本后nacos.core.auth.plugin.nacos.token.secret.key=SecretKey012345678901234567890123456789012345678901234567890123456789
自定义密钥时,推荐将配置项设置为Base64编码的字符串,且原始密钥长度不得低于32字符。例如下面的的例子:
### The default token(Base64 String):nacos.core.auth.default.token.secret.key=VGhpc0lzTXlDdXN0b21TZWNyZXRLZXkwMTIzNDU2Nzg=
### 2.1.0 版本后nacos.core.auth.plugin.nacos.token.secret.key=VGhpc0lzTXlDdXN0b21TZWNyZXRLZXkwMTIzNDU2Nzg=
注意:鉴权开关是修改之后立马生效的,不需要重启服务端。动态修改token.secret.key时,请确保token是有效的,如果修改成无效值,会导致后续无法登录,请求访问异常。
2.2、配置数据库
在application.properties
文件中还可以配置你自己的数据库,便于持久化管理
3、启动
在 D:\xxx\xxx\nacos-server-2.2.3\nacos\bin 目录下通过cmd窗口输入 下面命令双击回车启动
startup.cmd -m standalone
启动时如果是单机启动则需要修改启动文件:startup.cmd
#集群方式
set MODE="cluster"
#单机方式
set MODE="standalone"
启动完成后就可以访问 http://127.0.0.1:8848/nacos/index.html 网站进入配置网站
默认用户名/密码 :nacos/nacos
4、项目注册
4.1、配置yml文件
server:
port: 8083
spring:
application:
name: consumer # 注册上去的项目名称
cloud:
nacos:
server-addr: localhost:8848 #设置注册中心的地址
username: nacos
password: nacos
# discovery: # 命名空间 可以做项目隔离
# namespace: car-namespace
# group: dev # 在命名空间下的组别,可以用来做细粒度的隔离
#配置支持外交直接访问Endponit
management:
endpoints:
web:
exposure:
include: '*'
4.2、 在启动类上加入注解
@EnableDiscoveryClient
@SpringBootApplication
@EnableDiscoveryClient //启动nacos注解
@EnableFeignClients //开启feign的客户端
- 注册成功后则可以在服务管理——服务列表查看