SpringBoot 集成 Nacos,附带Nacos的安装
目录
? ??2.2 导入nacos数据库
? ??2.3 下载并运行Nacos
? ??3.1 添加依赖
? ??3.2 注册中心和配置中心
1.准备环境
部署Linux系统,安装Docker,可看这篇文章:手把手带你创建Linux虚拟机并安装Docker-CSDN博客
2. 安装Nacos
2.1 先通过Docker安装MySQL
该操作用于进行Nacos的相关数据库配置,安装Mysql和运行命令如下:
//对外暴露端口是3307,密码是123456
docker run -itd --name mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
再依次执行下列命令:
//进入容器
docker exec -it mysql bash
//登入mysql
mysql -u root -p 123456
use mysql
//开放远程链接
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
ALTER USER 'root'@'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES;
2.2 导入nacos数据库
1、在刚刚创建的mysql中创建nacos数据库
2、在官网下载压缩包,拿到conf下的mysql.sql文件,导入到mysql中.?Nacos-Github-Release
2.3 下载并运行Nacos
?2.3.1 拉取Nacos镜像
docker pull nacos/nacos-server
?2.3.2?建立挂载目录
mkdir -p /app/nacos/logs
mkdir -p /app/nacos/data
mkdir -p /app/nacos/conf
?2.3.3 启动Nacos?
docker run --name nacos -d \
-p 8848:8848 \
-e MODE=standalone \
nacos/nacos-server
?2.3.4?拷贝配置文件,修改配置
docker cp -a nacos:/home/nacos /app/nacos # 将容器内的文件拷贝到主机
docker stop nacos && docker rm -f nacos # 删除容器
? 2.3.5?修改配置:/home/nacos/conf/application.properties
注意:修改的主要有:
1.?spring.datasource.platform=mysql;?
2.db.num=1
3.db.url.0=jdbc:mysql://xx.xx.xx.x:3307/nacos_config?characterEncoding=utf8&onnectTimeout=1000&csocketTimeout=3000&autoReconnect=true
#这里需要修改端口??这里有个大坑:连接mysql时候,只能使用utf8而不是utf8mb4
4.db.user.0=user #用户名
5.db.password.0=pass #密码
ip填虚拟机ip, 端口是暴露的端口。同样,你也可以开放docker端口,ip用mysql的ip,端口用3306.可通过:docker inspect mysql 查看mysql的端口
?2.3.6 启动Nacos?
//需填写自己对应的ip地址(虚拟机ip或mysqlIP)
docker run -d -e MODE=standalone -e SPRING_DATASOURCE_PLATFORM=mysql -e MYSQL_SERVICE_HOST=[mysql的地址] -e MYSQL_SERVICE_PORT=3306 -e MYSQL_SERVICE_USER=root -e MYSQL_SERVICE_PASSWORD=123456 -e MYSQL_SERVICE_DB_NAME=nacos -p 8848:8848 -p 9848:9848 -p 9849:9849 -v /app/nacos/:/home/nacos/ --restart=always --name nacos nacos/nacos-server:latest
访问本机Nacos?http://localhost:8848/nacos
3. SpringBoot集成Nacos?
3.1 添加依赖
SpringBoot依赖请自己添加,我使用的是3.0.2
由于nacos、cloud、boot间依赖关系有强制绑定。所以需要对照官网版本:版本说明 · alibaba/spring-cloud-alibaba Wiki · GitHub
<!--开启Spring Cloud 应用程序启动时加载bootstrap配置文件,不配置报错-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
<version>3.1.4</version>
</dependency>
<!-- 注册中心 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>2022.0.0.0-RC2</version>
</dependency>
<!-- 配置中心 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>2022.0.0.0-RC2</version>
</dependency>
<!-- cloud版本 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>2022.0.3</version>
</dependency>
3.2 注册中心和配置中心
1、把Nacos的Ip和端口配置配置文件中
2、在启动类上加上@EnableDiscoveryClient注解(先版本可忽略)
3、同一类的服务可以指定Group
?3.2.1 在resource目录下,添加bootstrap.yml文件,并写入以下内容(ip填虚拟机ip?):
?3.2.2 Nacos中创建配置
另外,你可以在bootstrap.yml的config标签下新增group标签,它对应上图中的Group。该做法常用于配置不同环境(开发、测试、生产)?
?3.2.3 启动服务?
发现该服务即集成Nacos成功
?
最后最后!!!各位看官觉得有用就收藏、点赞、评论一下吧。我看到问题后,我会第一时间回复的!?
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!