一、本地使用nacos
1. 下载nacos安装包
2.0.1是最新版,1.4.2是稳定版

2. 启动nacos服务
本地直接启动该文件会报错,要将启动模式从集群修改为单机
set MODE = 'standalone'
3. 访问localhost:8848/nacos
账号密码:nacos/nacos
4. 新增配置项
将application.properties需要隐藏的数据拷贝到配置内容中,例如将数据库连接的用户名密码配置到nacos
NACOS-配置中心
5. 引入nacos依赖
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>nacos-config-spring-boot-starter</artifactId>
<version>0.2.1</version>
</dependency>
6. 加上注解使用
dataId是配置信息中的Data ID
@NacosPropertySource(dataId = "mysql.properties")
注意:如果不连接外置数据库,那么所有的配置信息都保存在data文件下。
二、服务器使用nacos
由于将配置信息放到data文件下会存在误删等风险,所以考虑将配置信息持久化到数据库中
1. 安装
2. 配置
2.1 配置单机模式
# /bin/startup.sh
export MODE="standalone"
2.2 新建nacos配置库(目前只支持MySQL),执行初始化脚本/conf/nacos-mysql.sql
2.3 修改数据库连接配置
# /conf/application.properties
### If use MySQL as datasource:
spring.datasource.platform=mysql
### Count of DB:
db.num=1
### Connect URL of DB:
db.url.0=jdbc:mysql://localhost: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
3. 启动
# /bin目录下执行
sh startup.sh
配置项命名规范如下:
${prefix}-${spring.profile.active}.${file-extension}
prefix:对应项目名称 spring.application.name
spring.profile.active:对应环境 dev/test/prod等
file-extension:对应配置文件类型 properties/yml等
5. 项目中配置nacos
5.1 引入nacos依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>2.1.4.RELEASE</version>
</dependency>
5.2 在bootstrap.yml配置nacos服务器
使用spring cloud时,配置信息是从nacos server加载的,为了获取到配置信息,必须要提前配置,bootstrap.yml的加载比application.yml早,因此需要将nacos的信息放到bootstrap优先加载。
spring:
application:
name: test-demo
cloud:
nacos:
config:
file-extension: properties
server-addr: localhost:8848
注意:如果项目中动态刷新nacos配置,使用@RefreshScope注解即可