springcloud学习——Nacos篇

本文介绍了如何下载并以单机模式启动Nacos2.0.3,包括下载、解压、配置及启动步骤。还详细讲述了启动过程中遇到的两个常见问题:未配置数据库引发的错误和网络未知主机异常,以及相应的解决方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、下载并启动Nacos(以nacos2.0.3为例)

精简版:

1.下载解压

2.cd到bin目录下,执行startup.cmd -m standalone即可成功启动

下载链接:https://github.com/alibaba/nacos/releases/tag/2.0.3

打开上面链接,拉到最下面下载

解压下载的zip包,打开文件夹,点击bin里startup.cmd运行,正常情况会报错,详细的错误信息在nacos\logs\nacos.log里查看       

报错是由于nacos默认是集群启动,集群启动需要配置数据库,我们以单机启动即可!

方式一:

命令控制台cd到bin目录下,执行startup.cmd -m standalone即可成功启动

方式二:

修改默认配置,打开nacos\bin\startup.cmd,找到下面位置,将mode改为"standalone",重新点击startup.cmd即可成功运行

 启动nacos常见问题:

1.java.lang.RuntimeException: java.lang.RuntimeException: [db-load-error]load jdbc.properties error

报这个错说明没有配置数据库,数据库配置在nacos\conf\application.properties里(集群启动才需要配置数据库

上面这一段默认是注释的,解开注释,然后对应配置好数据库,需要在本地数据库里创建nacos数据库,然后执行一个数据库文件nacos\conf\nacos-mysql.sql

执行的时候可能会报错,创建下面这个联合索引的时候可能会报错

报错信息:

我这里报错是因为我本地的数据库使用的是utf8mb4字符集,这个字符集1char=4byte,所以(50+255+8)*4=1252>1000,

解决办法可以修改数据库默认字符集,也可以把字段长度改短一点,以防后面出现问题,我是把数据库默认字符集修改为了utf8mb3

2.com.alibaba.nacos.api.exception.NacosException: java.net.UnknownHostException: jmenv.tbsite.net

配好数据库后,以集群方式启动nacos会报这个错,我目前是以单机启动的,暂时未处理此问题,后续待更新。。。

### 配置 Spring Cloud 使用 Nacos #### 服务发现配置 为了使应用程序能够利用 Nacos 进行服务注册与发现,在项目的依赖管理文件 `pom.xml` 或者 `build.gradle` 中需加入特定的依赖库[^1]。 对于 Maven 构建工具而言,应添加如下依赖: ```xml <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency> ``` 接着,在主程序类上标注 `@EnableDiscoveryClient` 注解来激活服务发现特性。这一步骤确保了应用实例能够在启动时自动向 Nacos Server 注册自己,并能感知其他已注册的服务实例的存在[^3]。 最后,编辑 `application.yml` 文件以指定连接到哪个具体的 Nacos 实例及其相关参数设置: ```yaml spring: cloud: nacos: discovery: server-addr: localhost:8848 # Nacos服务器地址 ``` 以上配置使得该微服务成为 Nacos 客户端的一员,参与到了整个集群内的服务治理流程之中。 #### 配置管理集成 为了让 Spring Cloud 应用可以从 Nacos 获取外部化配置数据,同样需要引入额外的支持包——即针对配置中心设计的 starter 组件[^2]: ```xml <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> </dependency> ``` 随后调整 `bootstrap.yml` (注意不是 application.yml),用于定义获取远程配置所需的基础信息,比如 Nacos Config Server 的位置等重要细节: ```yaml spring: application: name: example-service # 应用名称 cloud: nacos: config: server-addr: localhost:8848 # Nacos配置中心地址 file-extension: yaml # 指定配置文件格式,默认为properties ``` 完成上述步骤之后,当本地资源加载期间未能找到相应属性键值对时,便会尝试从远端拉取最新的配置版本并覆盖默认设定;反之如果存在同名条目,则优先采用内联方式声明的内容。 通过这种方式,不仅简化了跨环境部署过程中频繁修改静态文件的工作量,而且增强了运行期灵活性,允许管理员随时在线调整业务逻辑而不必重启任何进程即可生效变更。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值