【Nacos】Spring Cloud项目部署nacos步骤

说明:本文写作目的单纯是记录一次项目搭建,以便于以后查看。 开发工具:IDEA;操作系统:MacOS

介绍

Nacos是阿里巴巴的产品,现在是Spring Cloud的一个组件。相比于Euraka功能更加丰富。

一、下载

打开Nacos的官方地址:https://github.com/alibaba/nacos/releases 选择最新版本的压缩包下载

二、启动服务器

*以下内容来自官方指南 Linux/Unix/Mac 启动命令(standalone代表着单机模式运行,非集群模式):

sh startup.sh -m standalone

如果您使用的是ubuntu系统,或者运行脚本报错提示[[符号找不到,可尝试如下运行:

bash startup.sh -m standalone

Windows 启动命令(standalone代表着单机模式运行,非集群模式):

startup.cmd -m standalone

运行成功,框起来的部分复制粘贴到浏览器,即可看到nacos的控制平台 根据配置文件信息(可修改),默认用户名/密码都为nacos 成功进入页面

三、Spring Cloud搭建

  1. 在最外层父级porm.xml文件中引入spring-cloud-alibaba的管理依赖 参考地址:https://github.com/alibaba/spring-cloud-alibaba/blob/2021.x/spring-cloud-alibaba-docs/src/main/asciidoc-zh/sca-upgrade-guide.adoc
<dependencyManagement>
    <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>2.6.3</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>2021.0.1</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>2021.0.1.0</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
</dependencyManagement>
  1. 在需要集群的模块中,引入客户端依赖
<!-- 实现nacos集群 -->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    <version>2021.1</version>
</dependency>
  1. 修改application.yml文件
spring:
  cloud:
    nacos:
      server-addr: localhost:8848 # nacos服务器地址
  1. 通过 Spring Cloud 原生注解 @EnableDiscoveryClient 开启服务注册发现功能
@SpringBootApplication
@EnableDiscoveryClient
public class CoreApplication {
    public static void main(String[] args) {
        SpringApplication.run(CoreApplication.class, args);
    }
}
  1. 刷新nacos控制页,注册的集群服务就会在里面显示

遇到的问题

1. 启动项目报错: java.lang.NoClassDefFoundError:org/springframework/boot/Bootstrapper

原因: 版本冲突

我的spring版本是2.6.4,对应的spring-alibaba的版本应该是2021.0.1.0 版本说明官方文件地址:https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E 解决方法: 重新创建一个模块替换老模块,注意创建的时候,不要选择spring Initializr,选maven

2. springboot成功启动,但nacos控制页中没有集群显示。

原因: 缺少依赖

解决方法: 添加依赖:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
经验分享 程序员 微信小程序 职场和发展