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

二:服务注册

相关推荐
jdyzzy2 小时前
什么是 JIT 精益生产模式?它与传统的生产管控方式有何不同?
java·大数据·人工智能·jit
Chasmれ2 小时前
Spring Boot 1.x(基于Spring 4)中使用Java 8实现Token
java·spring boot·spring
汤姆yu2 小时前
2026基于springboot的在线招聘系统
java·spring boot·后端
计算机学姐2 小时前
基于SpringBoot的校园社团管理系统
java·vue.js·spring boot·后端·spring·信息可视化·推荐算法
java1234_小锋2 小时前
Java高频面试题:SpringBoot如何自定义Starter?
java·spring boot·面试
落霞的思绪2 小时前
Spring AI Alibaba 集成 Redis 向量数据库实现 RAG 与记忆功能
java·spring·rag·springai
键盘帽子2 小时前
长连接中异步任务的同步等待陷阱:一次主线程阻塞的排查与修复
java·websocket·java-ee·web
你刷碗2 小时前
基于S32K144 CESc生成随机数
android·java·数据库
灰子学技术2 小时前
性能分析工具比较pprof、perf、valgrind、asan
java·开发语言