# SpringCloud&Nacos
#1、nacos介绍
tips:nacos官方文档,简单来说,nacos可以当作注册中心--eureka 配置中心 --config
##1.1 下载nacos
链接:https://pan.baidu.com/s/17o5F27vlc1fnJmGO5cz4-g 提取码:1upi 链接:https://pan.baidu.com/s/1186nmlqPGows9gUZKAx8Zw 提取码:rest
1.第一个是1.3.1版本的nacos ,需要的小伙伴自取,第二个是官方的百度云链接
2.github下载
https://github.com/alibaba/nacos
tips:nacos与其springcloud ,springcloudalibaba有对应关系 通过链接可以自己去查看对应关系,最好用推荐的版本对应,不然融合的时候有一些奇奇怪怪的问题
版本对应关系:
版本说明 · alibaba/spring-cloud-alibaba Wiki · GitHub
##1.2 centos,nacos安装&配置
下载-->解压-->配置-->启动-->访问
1.解压
tar -zxvf nacos-server-1.3.1.tar.gz
2.配置
解压后进入nacos目录
进入conf目录
Eg : /nacos/conf/application.properties
找到application.properties文件
vim application.properties
如下配置mysql
3.启动
nohup sh ./startup.sh -m standalone &
Tips: 在后台启动一个服务,在启动之前需要进入bin目录下启动,可以选择nohub启动也可以选择直接启动,
完成后
4.访问
User:nacos
Password:nacos
Tips :nacos可以选择配置数据库,这里单独启动,
#2、nacos配置中心
1.定义父pom文件下的SpringCloud和SpringCloudAlibaba的版本
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.6.RELEASE</version> <!--springboot的版本号,注意对应关系,可以改成上面链接中标识的对应关系,这个只是我的版本号--> <relativePath/> <!-- lookup parent from repository --> </parent> <!--这里是应该有关于这个maven项目的groupId,artifactId,version的,idea会自己生成,我这里就不写了--> <packaging>pom</packaging> <!--注意定义pom--> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> <!-- SpringCloud版本号--> <spring-cloud.version>Hoxton.SR3</spring-cloud.version> <!-- SpringCloudAlibaba版本号--> <spring-cloud-alibaba.version>2.2.1.RELEASE</spring-cloud-alibaba.version> </properties> <modules> <module>自己的那些module</module> </modules> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>${spring-cloud.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-alibaba-dependencies</artifactId> <version>${spring-cloud-alibaba.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <!--下面还有build标签,可以自行定义,-->
2.定义nacos-server
1导入依赖
前提:已经配置好了一个maven模块,配置springbootstarter 写一个启动类,
<!--配置中心,版本号自寻--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> <version>2.1.1.RELEASE</version> </dependency>
2.创建bootstrap.yml 或者bootstrap.properties文件
tips: 这里解释一下为啥要创建这个配置文件,spring加载配置文件的时候是有顺序的,bootstrap配置文件的优先级高于application
bootstrap.yml
spring: application: name: testnacos cloud: nacos: server-addr: 106.15.8.129:8848 config: namespace: 0249c4cd-ad4e-4435-b505-7a40689b93d3 group: DEFAULT_GROUP file-extension: yml
这里简单说明一下:
1.nacos加载配置文件的时候,namespace-->group-->dataId
在不同的namespace下 ,可以有同样的group
在不同的group下 ,可以有同样的dataId
2.file-extension: yml 这个配置,如果使用的是yml / ymal 则在nacos中默认寻找properties的配置文件,会有找不到配置的情况
ps:ymal 与file-extension: yml对应
3.保存发布即可
tips :补充一下: 如果想在nacos中使用多配置文件的话 (第一次demo的话,自动忽略这个点)
dataid的配置就有一定的对应关系
4.创建controller测试
5.访问ctroller看看是否可以取值