【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搭建
- 在最外层父级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>
- 在需要集群的模块中,引入客户端依赖
<!-- 实现nacos集群 --> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> <version>2021.1</version> </dependency>
- 修改application.yml文件
spring: cloud: nacos: server-addr: localhost:8848 # nacos服务器地址
- 通过 Spring Cloud 原生注解 @EnableDiscoveryClient 开启服务注册发现功能
@SpringBootApplication @EnableDiscoveryClient public class CoreApplication { public static void main(String[] args) { SpringApplication.run(CoreApplication.class, args); } }
- 刷新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>