本系列是 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 服务
  • 服务及其元数据管理
  • 等等

官方图如下:

二、如何本地部署和使用 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,如图

如何关闭呢?

关闭命令:

sh shutdown.sh

控制台会响应:

The nacosServer(4317) is running...
Send shutdown request to nacosServer(4317) OK

三、Nacos 小结

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

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

作者:泥瓦匠 (公号「程序员泥瓦匠」)出处:https://www.bysocket.com 欢迎转载,也请保留这段声明。谢谢!

Nacos 本地单机版部署步骤和使用的更多相关文章

  1. CC2B本地环境搭建步骤及部署问题解决

    由于最近的项目是之前没接触过的netbeans+glassfish,记录一下最近在工作中搭建本地环境的步骤及遇到的一些问题解决方法: 1.配置java jdk 此过程中遇到一个问题就是在配置系统环境变 ...

  2. Spring Cloud Alibaba | Nacos集群部署

    目录 Spring Cloud Alibaba | Nacos集群部署 1. Nacos支持三种部署模式 2. 集群模式下部署Nacos 2.1 架构图 2.2 下载源码或者安装包 2.3 配置集群配 ...

  3. Storm集群安装部署步骤【详细版】

    作者: 大圆那些事 | 文章可以转载,请以超链接形式标明文章原始出处和作者信息 网址: http://www.cnblogs.com/panfeng412/archive/2012/11/30/how ...

  4. unison + inotify 实现文件实时双向同步部署步骤

    unison + inotify 实现文件实时双向同步部署步骤 一. Unison简介 Unison是Windows.Linux以及其他Unix平台下都可以使用的文件同步工具,它能使两个文件夹(本地或 ...

  5. Storm集群安装部署步骤

    本文以Twitter Storm官方Wiki为基础,详细描述如何快速搭建一个Storm集群,其中,项目实践中遇到的问题及经验总结,在相应章节以"注意事项"的形式给出. 1. Sto ...

  6. 阿里云CentOS 7.4 64位,jdk1.6、mysql5.7、tomcat6部署步骤(个人记录)

    jdk1.6.mysql5.7.tomcat6部署步骤 一.安装jdk1.6 查看当前系统jdk的版本:java -version 方法一:利用yum源来安装jdk(此方法不需要配置环境变量) 查看y ...

  7. Ubuntu16.04下Neo4j图数据库官网安装部署步骤(图文详解)(博主推荐)

    不多说,直接上干货! 说在前面的话  首先,查看下你的操作系统的版本. root@zhouls-virtual-machine:~# cat /etc/issue Ubuntu LTS \n \l r ...

  8. Ubuntu14.04下Neo4j图数据库官网安装部署步骤(图文详解)(博主推荐)

    不多说,直接上干货! 说在前面的话  首先,查看下你的操作系统的版本. root@zhouls-virtual-machine:~# cat /etc/issue Ubuntu 14.04.4 LTS ...

  9. 【Hadoop】Hadoop HA 部署 详细过程(架构、机器规划、配置文件、部署步骤)

    1.概念.架构 2.配置文件示例.部署步骤 hadoop2.0已经发布了稳定版本了,增加了很多特性,比如HDFS HA.YARN等.最新的hadoop-2.4.1又增加了YARN HA 注意:apac ...

  10. Ubuntu14.04下Mongodb数据库可视化工具安装部署步骤(图文详解)(博主推荐)

    不多说,直接上干货! 前期博客 Ubuntu14.04下Mongodb(离线安装方式|非apt-get)安装部署步骤(图文详解)(博主推荐) Ubuntu14.04下Mongodb官网安装部署步骤(图 ...

随机推荐

  1. 实验1 C语言输入输出和简单程序编写

    1.试验任务1 task1.c //打印一个字符小人 #include <stdio.h> int main() { printf(" o \n"); printf(& ...

  2. 【虹科干货】谈谈Redis Enterprise实时搜索的过人之处

    我们都知道,用户在使用应用程序时候,对于速度有着越来越高的要求,真可谓是"一秒也等不及".而开发团队又该怎样来满足这种对于实时性的期望呢? 文章速览: Redis Enterpri ...

  3. vue打包部署遇到的问题

    网站上线中遇到的问题(跨域,404,空白页解决方案) 因为本人是后端开发工程师,对前端开发不了解,踩了很多坑,所以将踩过的坑分享出来,以供参考 网站地址:这里 这段时间将项目部署到服务器中引发了几个问 ...

  4. Windows下SVN服务端(Subversion)及客户端(TortoiseSVN)详细安装教程

    1. Subversion和TortoiseSVN 是什么? http://www.uml.org.cn/pzgl/200811146.asp Subversion 是什么,我想如果不知道的话就没有必 ...

  5. postgresql 去重计数改写案例

    最近帮忙在搞一个内网报表系统的项目,里面的逻辑比较复杂,很多视图套视图的语句. 最多的一个视图除了它本身以外,一层层嵌套了7个视图在里面,贼恶心. SQL遇到性能问题只能每一层视图捋清对象关系来排查缓 ...

  6. notepad++中使用正则表达式处理数据

    如何使用正则表达式提取文本中的特定行? 以下是一个示例文本: [ INFO] HW RTC: 2023-05-15 07:21:00 [ INFO] HW RTC timestamp:16841352 ...

  7. NLP文本生成全解析:从传统方法到预训练完整介绍

    本文深入探讨了文本生成的多种方法,从传统的基于统计和模板的技术到现代的神经网络模型,尤其是LSTM和Transformer架构.文章还详细介绍了大型预训练模型如GPT在文本生成中的应用,并提供了Pyt ...

  8. C语言假设今天是星期日,编写一个程序,求2019天后是星期几。

    #include<stdio.h> void main() { int n = 2019, d;//定义变量和常量 d = n % 7;//计算余数 switch (d)//选择星期 { ...

  9. uni-app学习笔记——路由与页面跳转

    小颖最近在学习小程序,怕自己前看后忘,毕竟还没开始进入项目实践中,就自己瞎倒腾嘻嘻,今天来看下  uni-app  的路由与页面跳转,小颖就简单列举下它们的用法,具体的大家可以看官网哦!啦啦啦啦啦  ...

  10. Quartz核心原理之架构及基本元素介绍

    1 什么是Quartz Quartz是一个作业调度框架,它可以与J2EE和J2SE应用相结合,也可以单独使用.它能够创建多个甚至数万个jobs这样复杂的程序,jobs可以做成标准的java组件或EJB ...