news 2026/4/23 12:52:34

SpringCloud从入门到上天:Nacos做微服务注册中心

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SpringCloud从入门到上天:Nacos做微服务注册中心

什么叫服务注册:

商品服务、订单服务、各种服务启动之后都会注册到注册中心当中,注册中心中维护了一个微服务与他所在物理机的关系映射。

什么叫服务发现:

微服务之间进行远程调用的时候,需要首先问下注册中心目标服务的位置。拿到具体位置之后,在进行过程调用,这叫做服务发现。

一:Nacos安装

1:什么叫Nacos

Nacos:

阿里巴巴提供。

一个更易于构建云原生应用的动态服务发现配置管 理服务管理平台。

官网:https://nacos.io/zh-cn/docs/v2/quickstart/quick-start.html安装

使用版本:2.4.3

启动命令:startup.cmd-m standalone

2:部署Nacos

1:下载Nacos

[root@localhost ~]# wget https://github.com/alibaba/nacos/releases/download/2.4.3/nacos-server-2.4.3.tar.gz

2:挪移到对应位置

[root@localhost ~]# pwd /root [root@localhost ~]# mv nacos-server-2.4.3.tar.gz /usr/local/src [root@localhost ~]# ll total 102720 -rw-------. 1 root root 1773 Sep 23 19:17 anaconda-ks.cfg -rw-r--r--. 1 root root 1804 Sep 23 11:19 initial-setup-ks.cfg -rw-r--r--. 1 root root 156 Sep 24 08:51 kibana.yml -rw-r--r--. 1 root root 26024 Apr 24 2019 mysql80-community-release-el7-3.noarch.rpm -rw-r--r--. 1 root root 104065199 Dec 14 2022 nacos-server-2.2.0.tar.gz drwxr-xr-x. 9 1001 docker 186 Nov 26 06:37 nginx-1.22.1 -rw-r--r--. 1 root root 1073948 Nov 26 06:36 nginx-1.22.1.tar.gz [root@localhost ~]# cd /usr/local/src

3:解压Nacos

[root@localhost src]# tar -xzf nacos-server-2.4.3.tar.gz [root@localhost src]# ll total 152280 drwxr-xr-x. 5 root root 72 Feb 4 02:14 nacos -rw-r--r--. 1 root root 153428910 Oct 12 2024 nacos-server-2.4.3.tar.gz drwxrwxr-x. 7 root root 4096 Dec 4 09:45 redis-6.2.14 -rw-r--r--. 1 root root 2496149 Nov 5 10:46 redis-6.2.14.tar.gz [root@localhost src]# cd nacos

4:修改参数

1:修改startup.sh使用单机模式

5:下载JDK

[root@localhost bin]# yum install -y java-1.8.0-openjdk-devel Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: mirrors.aliyun.com * extras: mirrors.aliyun.com * updates: mirrors.aliyun.com Resolving Dependencies --> Running transaction check ---> Package java-1.8.0-openjdk-devel.x86_64 1:1.8.0.412.b08-1.el7_9 will be installed --> Processing Dependency: java-1.8.0-openjdk(x86-64) = 1:1.8.0.412.b08-1.el7_9 for package: 1:java-1.8.0-openjdk-devel-1.8.0.412.b08-1.el7_9.x86_64 --> Running transaction check ---> Package java-1.8.0-openjdk.x86_64 1:1.8.0.412.b08-1.el7_9 will be installed --> Processing Dependency: java-1.8.0-openjdk-headless(x86-64) = 1:1.8.0.412.b08-1.el7_9 for package: 1:java-1.8.0-openjdk-1.8.0.412.b08-1.el7_9.x86_64 --> Running transaction check ---> Package java-1.8.0-openjdk-headless.x86_64 1:1.8.0.412.b08-1.el7_9 will be installed --> Processing Dependency: tzdata-java >= 2023d for package: 1:java-1.8.0-openjdk-headless-1.8.0.412.b08-1.el7_9.x86_64 --> Running transaction check ---> Package tzdata-java.noarch 0:2020a-1.el7 will be updated ---> Package tzdata-java.noarch 0:2024a-1.el7 will be an update --> Finished Dependency Resolution Dependencies Resolved ============================================================================================================================================================== Package Arch Version Repository Size ============================================================================================================================================================== Installing: java-1.8.0-openjdk-devel x86_64 1:1.8.0.412.b08-1.el7_9 updates 9.9 M Installing for dependencies: java-1.8.0-openjdk x86_64 1:1.8.0.412.b08-1.el7_9 updates 325 k java-1.8.0-openjdk-headless x86_64 1:1.8.0.412.b08-1.el7_9 updates 33 M Updating for dependencies: tzdata-java noarch 2024a-1.el7 updates 187 k Transaction Summary ============================================================================================================================================================== Install 1 Package (+2 Dependent packages) Upgrade ( 1 Dependent package) Total download size: 44 M Downloading packages: No Presto metadata available for updates (1/4): java-1.8.0-openjdk-1.8.0.412.b08-1.el7_9.x86_64.rpm | 325 kB 00:00:00 (2/4): java-1.8.0-openjdk-devel-1.8.0.412.b08-1.el7_9.x86_64.rpm | 9.9 MB 00:00:00 (3/4): tzdata-java-2024a-1.el7.noarch.rpm | 187 kB 00:00:00 (4/4): java-1.8.0-openjdk-headless-1.8.0.412.b08-1.el7_9.x86_64.rpm | 33 MB 00:00:01 -------------------------------------------------------------------------------------------------------------------------------------------------------------- Total 20 MB/s | 44 MB 00:00:02 Running transaction check Running transaction test Transaction test succeeded Running transaction Updating : tzdata-java-2024a-1.el7.noarch 1/5 Installing : 1:java-1.8.0-openjdk-headless-1.8.0.412.b08-1.el7_9.x86_64 2/5 Installing : 1:java-1.8.0-openjdk-1.8.0.412.b08-1.el7_9.x86_64 3/5 Installing : 1:java-1.8.0-openjdk-devel-1.8.0.412.b08-1.el7_9.x86_64 4/5 Cleanup : tzdata-java-2020a-1.el7.noarch 5/5 Verifying : tzdata-java-2024a-1.el7.noarch 1/5 Verifying : 1:java-1.8.0-openjdk-devel-1.8.0.412.b08-1.el7_9.x86_64 2/5 Verifying : 1:java-1.8.0-openjdk-headless-1.8.0.412.b08-1.el7_9.x86_64 3/5 Verifying : 1:java-1.8.0-openjdk-1.8.0.412.b08-1.el7_9.x86_64 4/5 Verifying : tzdata-java-2020a-1.el7.noarch 5/5 Installed: java-1.8.0-openjdk-devel.x86_64 1:1.8.0.412.b08-1.el7_9 Dependency Installed: java-1.8.0-openjdk.x86_64 1:1.8.0.412.b08-1.el7_9 java-1.8.0-openjdk-headless.x86_64 1:1.8.0.412.b08-1.el7_9 Dependency Updated: tzdata-java.noarch 0:2024a-1.el7 Complete!

6:启动Nacos

[root@localhost bin]# sh startup.sh -m standalone /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.412.b08-1.el7_9.x86_64/bin/java -Djava.ext.dirs=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.412.b08-1.el7_9.x86_64/jre/lib/ext:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.412.b08-1.el7_9.x86_64/lib/ext -Xms512m -Xmx512m -Xmn256m -Dnacos.standalone=true -Dnacos.member.list= -XX:+UseConcMarkSweepGC -XX:+UseCMSCompactAtFullCollection -XX:CMSInitiatingOccupancyFraction=70 -XX:+CMSParallelRemarkEnabled -XX:SoftRefLRUPolicyMSPerMB=0 -XX:+CMSClassUnloadingEnabled -XX:SurvivorRatio=8 -Xloggc:/usr/local/src/nacos/logs/nacos_gc.log -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M -Dloader.path=/usr/local/src/nacos/plugins,/usr/local/src/nacos/plugins/health,/usr/local/src/nacos/plugins/cmdb,/usr/local/src/nacos/plugins/selector -Dnacos.home=/usr/local/src/nacos -jar /usr/local/src/nacos/target/nacos-server.jar --spring.config.additional-location=file:/usr/local/src/nacos/conf/ --logging.config=/usr/local/src/nacos/conf/nacos-logback.xml --server.max-http-header-size=524288 nacos is starting with standalone nacos is starting. you can check the /usr/local/src/nacos/logs/start.out

7:验证是否启动成功

[root@localhost bin]# cat /usr/local/src/nacos/logs/start.out /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.412.b08-1.el7_9.x86_64/bin/java -Djava.ext.dirs=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.412.b08-1.el7_9.x86_64/jre/lib/ext:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.412.b08-1.el7_9.x86_64/lib/ext -Xms512m -Xmx512m -Xmn256m -Dnacos.standalone=true -Dnacos.member.list= -XX:+UseConcMarkSweepGC -XX:+UseCMSCompactAtFullCollection -XX:CMSInitiatingOccupancyFraction=70 -XX:+CMSParallelRemarkEnabled -XX:SoftRefLRUPolicyMSPerMB=0 -XX:+CMSClassUnloadingEnabled -XX:SurvivorRatio=8 -Xloggc:/usr/local/src/nacos/logs/nacos_gc.log -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M -Dloader.path=/usr/local/src/nacos/plugins,/usr/local/src/nacos/plugins/health,/usr/local/src/nacos/plugins/cmdb,/usr/local/src/nacos/plugins/selector -Dnacos.home=/usr/local/src/nacos -jar /usr/local/src/nacos/target/nacos-server.jar --spring.config.additional-location=file:/usr/local/src/nacos/conf/ --logging.config=/usr/local/src/nacos/conf/nacos-logback.xml --server.max-http-header-size=524288 OpenJDK 64-Bit Server VM warning: UseCMSCompactAtFullCollection is deprecated and will likely be removed in a future release. ,--. ,--.'| ,--,: : | Nacos 2.4.3 ,`--.'`| ' : ,---. Running in stand alone mode, All function modules | : : | | ' ,'\ .--.--. Port: 8848 : | \ | : ,--.--. ,---. / / | / / ' Pid: 29501 | : ' '; | / \ / \. ; ,. :| : /`./ Console: http://192.168.67.133:8848/nacos/index.html ' ' ;. ;.--. .-. | / / '' | |: :| : ;_ | | | \ | \__\/: . .. ' / ' | .; : \ \ `. https://nacos.io ' : | ; .' ," .--.; |' ; :__| : | `----. \ | | '`--' / / ,. |' | '.'|\ \ / / /`--' / ' : | ; : .' \ : : `----' '--'. / ; |.' | , .-./\ \ / `--'---' '---' `--`---' `----' 2026-02-04 03:19:49,177 INFO Tomcat initialized with port(s): 8848 (http) 2026-02-04 03:19:49,346 INFO Root WebApplicationContext: initialization completed in 1839 ms 2026-02-04 03:19:52,537 INFO Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@5f0f9947, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@1aad0b1, org.springframework.security.web.context.SecurityContextPersistenceFilter@6cff61fc, org.springframework.security.web.header.HeaderWriterFilter@2924f1d8, org.springframework.security.web.csrf.CsrfFilter@277b8fa4, org.springframework.security.web.authentication.logout.LogoutFilter@65e21ce3, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@467b684d, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@6cc86152, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@c3edf4c, org.springframework.security.web.session.SessionManagementFilter@5b5e7036, org.springframework.security.web.access.ExceptionTranslationFilter@12fcc71f] 2026-02-04 03:19:52,816 INFO Adding welcome page: class path resource [static/index.html] 2026-02-04 03:19:53,171 INFO Exposing 1 endpoint(s) beneath base path '/actuator' 2026-02-04 03:19:53,194 WARN You are asking Spring Security to ignore Ant [pattern='/**']. This is not recommended -- please use permitAll via HttpSecurity#authorizeHttpRequests instead. 2026-02-04 03:19:53,194 INFO Will not secure Ant [pattern='/**'] 2026-02-04 03:19:53,194 WARN You are asking Spring Security to ignore Mvc [pattern='/prometheus']. This is not recommended -- please use permitAll via HttpSecurity#authorizeHttpRequests instead. 2026-02-04 03:19:53,194 INFO Will not secure Mvc [pattern='/prometheus'] 2026-02-04 03:19:53,194 WARN You are asking Spring Security to ignore Mvc [pattern='/prometheus/namespaceId/{namespaceId}']. This is not recommended -- please use permitAll via HttpSecurity#authorizeHttpRequests instead. 2026-02-04 03:19:53,194 INFO Will not secure Mvc [pattern='/prometheus/namespaceId/{namespaceId}'] 2026-02-04 03:19:53,195 WARN You are asking Spring Security to ignore Mvc [pattern='/prometheus/namespaceId/{namespaceId}/service/{service}']. This is not recommended -- please use permitAll via HttpSecurity#authorizeHttpRequests instead. 2026-02-04 03:19:53,195 INFO Will not secure Mvc [pattern='/prometheus/namespaceId/{namespaceId}/service/{service}'] 2026-02-04 03:19:53,266 INFO Tomcat started on port(s): 8848 (http) with context path '/nacos' 2026-02-04 03:19:53,276 INFO No TaskScheduler/ScheduledExecutorService bean found for scheduled processing 2026-02-04 03:19:53,297 INFO Nacos started successfully in stand alone mode. use embedded storage

3:访问Nacao

从启动日志结束之后,默认展示了需要访问nacos的uri,所以,我们拼接下对应的URL

192.168.67.133:8848/nacos

二:服务注册

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 11:19:12

基于Springboot+Vue的校园闲置物品租售系统源码文档部署文档代码讲解等

课题介绍 本课题旨在设计并实现一套基于SpringBootVue的前后端分离校园闲置物品租售系统,解决校园内学生闲置物品浪费、租售渠道分散、交易安全无保障、物品信息杂乱、租赁流程不规范等问题。系统采用SpringBoot作为后端核心框架,结合MyBatis-Plus简化数…

作者头像 李华
网站建设 2026/4/23 9:54:19

基于Springboot+Vue的新能源汽车租赁管理系统源码文档部署文档代码讲解等

课题介绍 本课题旨在设计并实现一套基于SpringBootVue的前后端分离新能源汽车租赁管理系统,解决传统汽车租赁流程繁琐、车辆信息管理混乱、订单跟踪不及时、租赁统计效率低、车辆状态监控不便等问题。系统采用SpringBoot作为后端核心框架,结合MyBatis-Pl…

作者头像 李华
网站建设 2026/4/23 9:53:38

Data Management Processing

1. Backup 备份Explanation: A backup is a copy of data or files that is stored separately from the original source, often used to prevent data loss in case of 万一 system failure, corruption, or accidental deletion.备份是数据或文件的副本,通常存储…

作者头像 李华
网站建设 2026/4/23 11:16:59

easymall---管理后端商品属性管理

需求: 这是前端的页面,约定为前端将信息包装成sysProductProperty类进行返回,要怎么设计表以及实体类 1.建立sysproductProperty表 需要property_id作为主键 标识这个属性 是否包含图片那就需要一个 cover_type 存储 具体的图片存储放在本地的某一文件夹中 不通过数据库保存…

作者头像 李华
网站建设 2026/4/23 11:21:57

stm32的ADC模块在进行单通道ADC测量时,悬空接地电压在OLED显示屏上显示为3.3V,而不是实际的电压值,如何解决?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者&…

作者头像 李华
网站建设 2026/4/23 11:22:04

大数据时代下 Kafka 的核心原理深度剖析

大数据时代下 Kafka 的核心原理深度剖析 关键词:Kafka、消息队列、分布式架构、分区副本、实时数据流 摘要:在大数据时代,企业每天要处理数以亿计的实时数据(如用户点击、传感器信号、交易记录)。传统消息系统在吞吐量…

作者头像 李华