Nacos 本地单机版部署步骤和使用 - Spring Cloud 系列教程

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 本系列是 Spring Cloud 微服务实战系列教程。之前在 《Spring Cloud Eureka 入门 (一)服务注册中心详解》 聊过 Spring Cloud Eureka。那今天聊聊阿里开源的 Nacos ~

本系列是 Spring Cloud 微服务实战系列教程。之前在 《Spring Cloud Eureka 入门 (一)服务注册中心详解》 聊过 Spring Cloud Eureka。那今天聊聊阿里开源的 Nacos ~


一、Nacos 是什么?


先了解下 Spring Cloud Eureka 是基于 Netflix Eureka (Netflix 是 Java 实现的开源软件)。服务治理(Eureka)包括服务注册、服务发现和服务检测监控等。


那 Nacos 致力于发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。


简而言之,Nacos 包含了微服务的配置管理 + 服务的注册、发现等监控。微服务也包括了 Spring Cloud 的微服务实现。


Nacos 其特性重点包含了以下:


  • 服务发现和服务健康监测
  • 动态配置服务
  • 动态 DNS 服务
  • 服务及其元数据管理
  • 等等


官方图如下:


image.png


二、如何本地部署和使用 Nacos


可以在 github 上 Nacos Release 版本列表中下载最新的稳定版本。地址:


https://github.com/alibaba/nacos/releases


当前稳定版本:2.0.3


2.1 环境准备


Nacos 依赖 Java 环境,所以如果从源码构建并运行 Nacos 需要配置如下:


  • JDK 1.8+
  • Maven 3.2+
  • 64 bit OS 支持 Linux/Unix/Mac/Windows,推荐选用 Linux/Unix/Mac


如果本机部署的话,不需要从源码构建,则只需要下载编译后的压缩包和 JDK 1.8+ 环境即可


2.2 下载编译后的压缩包


https://github.com/alibaba/nacos/releases 地址中,下载 nacos-server-2.0.3.zip 压缩包。然后执行一下解压命令:


unzip nacos-server-2.0.3.zip


这样目录中会出现 Nacos 的项目目录


2.3 启动前配置


目录结构如下:


nacos % ls -l

total 48

-rw-r--r--@  1 qq  staff  16583  3 18  2021 LICENSE

-rw-r--r--@  1 qq  staff   1305  5 14  2020 NOTICE

drwxr-xr-x@  8 qq  staff    256 12  3 14:25 bin

drwxr-xr-x@  9 qq  staff    288  7 27 14:18 conf

drwxr-xr-x   6 qq  staff    192 12  3 14:43 data

drwxr-xr-x  35 qq  staff   1120 12  3 14:25 logs

drwxr-xr-x@  3 qq  staff     96  7 28 19:28 target


进入 conf 目录,目录结构如下:


conf % ls -l

total 176

-rw-r--r--@ 1 qq  staff   1224  6 18 10:39 1.4.0-ipv6_support-update.sql

-rw-r--r--@ 1 qq  staff   9752 12  3 14:41 application.properties

-rw-r--r--@ 1 qq  staff   9506  7 27 14:18 application.properties.example

-rw-r--r--@ 1 qq  staff    670  3 18  2021 cluster.conf.example

-rw-r--r--@ 1 qq  staff  31156  7 15 19:19 nacos-logback.xml

-rw-r--r--@ 1 qq  staff  10660  6 18 10:39 nacos-mysql.sql

-rw-r--r--@ 1 qq  staff   8795  6 18 10:39 schema.sql


这次部署,目录中其中两个文件需要知晓:


  • application.properties 配置文件
  • nacos-mysql.sql 数据库 MySQL 库表信息文件


1/ 创建数据库 nacos 并执行 nacos-mysql.sql


本次测试用 MySQL 作为数据存储,则需要在 MySQL 中新建数据库 nacos,命令如下:


CREATE DATABASE nacos


然后再数据库中执行建表和插入默认数据操作,具体看 nacos-mysql.sql 文件。


2/ 修改 application.properties 配置文件


然后打开 application.properties 配置文件,对应的地方改成如下:


#*************** Config Module Related Configurations ***************#

### If use MySQL as datasource:

spring.datasource.platform=mysql


### Count of DB:

db.num=1


### Connect URL of DB:

db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC

db.user.0=admin

db.password.0=123456


2.4 运行并使用 Nacos


以 Mac 本机为例,启动下面命令:


cd nacos/bin


sh startup.sh -m standalone


standalone 代表着单机模式运行,非集群模式


控制台可以看到以下信息:


nacos is starting with standalone

nacos is starting,you can check the /Users/qq/project/nacos/logs/start.out


那如何看 Nacos 日志,从上面可见日志输出在 nacos/logs 目录,查看 start.out 日志文件执行如下命令:


tail -200f /Users/qq/project/nacos/logs/start.out


控制台可以看到以下信息:



        ,--.

      ,--.'|

  ,--,:  : |                                           Nacos 2.0.3

,`--.'`|  ' :                       ,---.               Running in stand alone mode, All function modules

|   :  :  | |                      '   ,'\   .--.--.    Port: 8848

:   |   \ | :  ,--.--.     ,---.  /   /   | /  /    '   Pid: 2452

|   : '  '; | /       \   /     \.   ; ,. :|  :  /`./   Console: http://xxxx:8848/nacos/index.html

'   ' ;.    ;.--.  .-. | /    / ''   | |: :|  :  ;_

|   | | \   | \__\/: . ..    ' / '   | .; : \  \    `.      https://nacos.io

'   : |  ; .' ," .--.; |'   ; :__|   :    |  `----.   \

|   | '`--'  /  /  ,.  |'   | '.'|\   \  /  /  /`--'  /

'   : |     ;  :   .'   \   :    : `----'  '--'.     /

;   |.'     |  ,     .-./\   \  /            `--'---'

'---'        `--`---'     `----'


...


2021-12-04 15:25:18,201 INFO Tomcat started on port(s): 8848 (http) with context path '/nacos'


这说明部署成功,电脑运行 Nacos 很简单,直接打开浏览器,输入地址:


http://localhost:8848/nacos/index.html


账号密码默认都为 nacos,如图


image.png


image.png


如何关闭呢?


关闭命令:


sh shutdown.sh


控制台会响应:


The nacosServer(4317) is running...

Send shutdown request to nacosServer(4317) OK


三、Nacos 小结


本文主要描述 Nacos 和 Nacos 的使用场景,然后本地部署 Nacos,达到可用状态。如果需要服务器部署,切记不能单机模式。Nacos 主要是微服务的配置中心和服务注册中心。


后续系列文章,会结合 Spring Cloud 微服务实践 Nacos 细节。

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
8天前
|
SpringCloudAlibaba JavaScript Dubbo
【SpringCloud Alibaba系列】Dubbo dubbo-admin安装教程篇
本文介绍了 Dubbo-Admin 的安装和使用步骤。Dubbo-Admin 是一个前后端分离的项目,前端基于 Vue,后端基于 Spring Boot。安装前需确保开发环境(Windows 10)已安装 JDK、Maven 和 Node.js,并在 Linux CentOS 7 上部署 Zookeeper 作为注册中心。
【SpringCloud Alibaba系列】Dubbo dubbo-admin安装教程篇
|
5月前
|
Kubernetes Nacos 数据库
k8s快速部署nacos单机版
k8s快速部署nacos单机版
|
5月前
|
Cloud Native Java Nacos
微服务时代的新宠儿!Spring Cloud Nacos实战指南,带你玩转服务发现与配置管理,拥抱云原生潮流!
【8月更文挑战第29天】Spring Cloud Nacos作为微服务架构中的新兴之星,凭借其轻量、高效的特点,迅速成为服务发现、配置管理和治理的首选方案。Nacos(命名和配置服务)由阿里巴巴开源,为云原生应用提供了动态服务发现及配置管理等功能,简化了服务间的调用与依赖管理。本文将指导你通过五个步骤在Spring Boot项目中集成Nacos,实现服务注册、发现及配置动态管理,从而轻松搭建出高效的微服务环境。
314 0
|
1月前
|
消息中间件 监控 Java
如何将Spring Boot + RabbitMQ应用程序部署到Pivotal Cloud Foundry (PCF)
如何将Spring Boot + RabbitMQ应用程序部署到Pivotal Cloud Foundry (PCF)
35 6
|
1月前
|
Java 关系型数据库 MySQL
如何将Spring Boot + MySQL应用程序部署到Pivotal Cloud Foundry (PCF)
如何将Spring Boot + MySQL应用程序部署到Pivotal Cloud Foundry (PCF)
52 5
|
1月前
|
缓存 监控 Java
如何将Spring Boot应用程序部署到Pivotal Cloud Foundry (PCF)
如何将Spring Boot应用程序部署到Pivotal Cloud Foundry (PCF)
40 5
|
2月前
|
存储 人工智能 Java
Spring AI Alibaba 配置管理,用 Nacos 就够了
本文通过一些实操案例展示了 Spring AI Alibaba + Nacos 在解决 AI 应用中一系列复杂配置管理挑战的方案,从动态 Prompt 模板的灵活调整、模型参数的即时优化,到敏感信息的安全加密存储。Spring AI Alibaba 简化了对接阿里云通义大模型的流程,内置 Nacos 集成也为开发者提供了无缝衔接云端配置托管的捷径,整体上极大提升了 AI 应用开发的灵活性和响应速度。
243 13
|
3月前
|
JSON SpringCloudAlibaba Java
Springcloud Alibaba + jdk17+nacos 项目实践
本文基于 `Springcloud Alibaba + JDK17 + Nacos2.x` 介绍了一个微服务项目的搭建过程,包括项目依赖、配置文件、开发实践中的新特性(如文本块、NPE增强、模式匹配)以及常见的问题和解决方案。通过本文,读者可以了解如何高效地搭建和开发微服务项目,并解决一些常见的开发难题。项目代码已上传至 Gitee,欢迎交流学习。
192 1
Springcloud Alibaba + jdk17+nacos 项目实践
|
3月前
|
负载均衡 算法 Java
蚂蚁面试:Nacos、Sentinel了解吗?Springcloud 核心底层原理,你知道多少?
40岁老架构师尼恩分享了关于SpringCloud核心组件的底层原理,特别是针对蚂蚁集团面试中常见的面试题进行了详细解析。内容涵盖了Nacos注册中心的AP/CP模式、Distro和Raft分布式协议、Sentinel的高可用组件、负载均衡组件的实现原理等。尼恩强调了系统化学习的重要性,推荐了《尼恩Java面试宝典PDF》等资料,帮助读者更好地准备面试,提高技术实力,最终实现“offer自由”。更多技术资料和指导,可关注公众号【技术自由圈】获取。
蚂蚁面试:Nacos、Sentinel了解吗?Springcloud 核心底层原理,你知道多少?
|
5月前
|
Cloud Native Java Nacos
Spring Cloud Config、Apollo、Nacos和Archaius对比
这篇文章对比了Spring Cloud Config、Apollo、Nacos和Archaius这四种配置中心的适应场景、优缺点。文中讨论了它们的功能特点,例如Spring Cloud Config的集中化配置管理和动态刷新能力,Apollo的实时配置推送和权限治理,Nacos的服务发现和管理功能,以及Archaius的动态配置更新能力。文章指出选择配置中心应根据项目需求和架构来决定,并提供了一个对比图来帮助读者更直观地理解这些工具的差异。
150 1
Spring Cloud Config、Apollo、Nacos和Archaius对比