SpringBoot 集成 Nacos,附带Nacos的安装

发布时间:2023年12月25日

目录

1.准备环境

2. 安装Nacos

? ??2.1 先通过Docker安装MySQL

? ??2.2 导入nacos数据库

? ??2.3 下载并运行Nacos

3. SpringBoot集成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.io)

        <!--开启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成功

?

最后最后!!!各位看官觉得有用就收藏、点赞、评论一下吧。我看到问题后,我会第一时间回复的!?

文章来源:https://blog.csdn.net/weixin_58403235/article/details/135193825
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。