一、资源
1.Nacos地址
https://github.com/alibaba/nacos
2. 可以选择你想要的的版本
3.服务器下载命令
wget https://github.com/alibaba/nacos/releases/download/1.1.4/nacos-server-1.1.4.tar.gz
解压文件
tar -zxvf /root/nacos-server-1.1.4.tar.gz -C /usr/local/
进入bin文件
cd /usr/local/nacos/bin/
启动与停止服务
//启动
sh startup.sh -m standalone
//后台运行
sh startup.sh -m standalone
//关闭服务
sh shutdown.sh
//查看状态
ps -aux|grep nacos
启动成功访问地址
http://ip:8848/nacos/index.html 账号密码默认都为nacos
更换MySql存储数据
1.连接Mysql创建数据库 nacos_ data_source 进入/usr/local/nacos/conf会发现有个nacos-mysql.sql 把这个文件导入nacos_data_source数据库中
2.修改conf文件下的application.properties文件
spring.datasource.platform=mysql
### Count of DB:
db.num=1
### Connect URL of DB:
db.url.0=jdbc:mysql://127.0.013306/fw_2005_nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=root
db.password=root
3.重启
二、Nacos配置管理
1.命名空间(Namespace)
平常项目中resources下分为
application.yml 、
application-dev.yml(开发环境)、
application-prod.yml(生产环境)、
application-test.yml(测试环境)
Nacos中也是可以这样的 就是这个意思
2.配置分组(Group)
进行分组 同一namespace下不同的分组可以有相同的配置集(Data ID)
个人感觉没什么用就用默认的就好了
3.配置集(Data ID)
就是配置文件的名称
注意 :命名时候一定要写后缀 如:my.yml my.properties 不然项目起不起来报错坑死
命名规则:
在 nacos中,dataId 的完整格式如下:
${prefix}-${spring.profile.active}.${file-extension}
-
prefix 默认为
spring.application.name
的值,也可以通过配置项spring.cloud.nacos.config.prefix
来配置。 -
spring.profile.active
即为当前环境对应的profile
,详情可以参考 Spring Boot文档。 注意:当spring.profile.active
为空时,对应的连接符-
也将不存在,dataId 的拼接格式变成${prefix}.${file-extension}
-
file-exetension
为配置内容的数据格式,可以通过配置项spring.cloud.nacos.config.file-extension
来配置。目前只支持properties
和yml
类型。
三、配置
1.创建nacos配置
2.项目中resources文件下添加bootstrap.yaml
server:
port: 8090
spring:
application:
name: order
profiles:
active: dev
cloud:
nacos:
config:
# 配置中心地址
server-addr: 192.168.196.129:8848
#配合上面name和active dataId组成为 order-dev.yml 如果不写dataId组成为 order.yml
file-extension: yml
#命名空间 创建命名空间后左上角会有一串那个就是 如果在默认里面 则不需要填写
namespace: b76d6425-7961-41c1-9169-bd146c36f4d0
#分组
group: DEFAULT_GROUP
3.pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>2.1.0.RELEASE</version>
</dependency>
4.启动类
import com.alibaba.fastjson.JSONObject;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@SpringBootApplication
public class NacosApplication {
@Value("${users.names}")
String userName;
@Value("${users.age}")
int age;
public static void main(String[] args) {
SpringApplication.run(NacosApplication.class, args);
}
@GetMapping("/nacos-test")
public JSONObject getConfigName() {
System.out.println(userName);
System.out.println(age);
JSONObject jsonObject = new JSONObject();
jsonObject.put("name",userName);
jsonObject.put("age",age);
return jsonObject;
}
}
5.访问页面