• 【On Nacos】快速上手 Nacos


    如果大家想要了解更多的 Nacos 教程,欢迎 star 《On Nacos》开源项目。基于 Nacos 2.x 的入门、原理、源码、实战介绍,帮助开发者快速上手 Nacos。

    安装包

    安装

    步骤一:可以通过 https://github.com/alibaba/nacos/releases 找到对应的版本,下载打包好的 Nacos。可使用以下命令下载对应的 Nacos版本。目前下载的是2.1.0 版本,可使用以下命令:

    wget https://github.com/alibaba/nacos/releases/download/2.1.0/nacos-server-2.1.0.tar.gz
    
    • 1

    步骤二:下载完压缩包以后需要通过命令进行解压:

    tar -xzf nacos-server-2.1.0.tar.gz
    
    • 1

    步骤三:cd 到 nacos 目录下,先来介绍下目录结构

    .
    |____LICENSE
    |____bin                                 // nacos 的启动、停止脚本
    | |____startup.sh
    | |____startup.cmd
    | |____shutdown.sh
    | |____shutdown.cmd
    |____target                              // nacos 服务端 jar 包
    | |____nacos-server.jar
    |____NOTICE
    |____conf                                // naocs 配置文件、sql脚本、集群配置等
    | |____1.4.0-ipv6_support-update.sql
    | |____schema.sql
    | |____nacos-mysql.sql
    | |____application.properties.example
    | |____nacos-logback.xml
    | |____cluster.conf.example
    | |____application.properties
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    步骤四:单机模式启动 Nacos

    Linux/Unix/Mac

    启动命令( -m standalone 表示单机模式启动):

    sh startup.sh -m standalone

    如果您使用的是ubuntu系统,或者运行脚本报错提示[[符号找不到,可尝试如下运行:

    bash startup.sh -m standalone

    Windows

    启动命令( -m standalone 表示单机模式启动):

    startup.cmd -m standalone

    出现以下日志说明已经启动 naocs 了,详细的日志要看 nacos/logs/start.out。

    nacos is starting with standalone
    nacos is starting,you can check the /Users/lixiaoshuang/nacos-related/nacos/logs/start.out
    
    • 1
    • 2

    步骤五:通过浏览器访问:http://127.0.0.1:8848/nacos 登录nacos 控制台,默认的账户名和密码是:nacos、nacos。

    https://tva1.sinaimg.cn/large/e6c9d24ely1h3jghe1b57j215u0u0div.jpg

    备注:单机模式启动默认是不需要 MySQL 的,如果想要使用 MySQL 可以修改配置中的数据源信息

    配置管理

    通过 curl 命令调用 Nacos 的 Open API 来快速体验一下 Nacos 的配置管理功能。

    发布配置

    curl -X POST "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test&content=Hello Nacos"
    
    • 1

    通过 curl 命令发布完配置后,可以在通过控制台配置管理-配置列表中查看到配置信息。

    https://tva1.sinaimg.cn/large/e6c9d24ely1h3jh75hwdhj22300tgtcu.jpg

    获取配置

    curl -X GET "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test"
    
    • 1

    https://tva1.sinaimg.cn/large/e6c9d24ely1h3jh8xya7ej21fa0eq761.jpg

    服务注册&发现

    通过 curl 命令调用 Nacos 的 Open API 来快速体验一下 Nacos 的服务发现功能。

    服务注册

    curl -X POST 'http://127.0.0.1:8848/nacos/v1/ns/instance?serviceName=nacos.naming.serviceName&ip=20.18.7.10&port=8080'
    
    • 1

    执行完 curl 命令后 ,可以在控制台服务管理-服务列表中查看到注册的服务信息。

    https://tva1.sinaimg.cn/large/e6c9d24ely1h3jhexgudnj223i0quwie.jpg

    服务发现

    curl -X GET 'http://127.0.0.1:8848/nacos/v1/ns/instance/list?serviceName=nacos.naming.serviceName'
    
    • 1

    https://tva1.sinaimg.cn/large/e6c9d24ely1h3jhi77yujj21no0ki0y3.jpg

    使用 MySQL

    如果想要 Nacos 使用 MySQL 来做底层存储的话,首先需要找到 nacos/conf 目录下的 nacos-mysql.sql 。执行 sql 脚本创建 nacos 相关库表。

    然后就只需要修改 application.properties 文件,首先 cd 到 nacos/conf 目录下,用 vim 命令修改 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=nacos
    # db.password.0=nacos
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    将注释放开,修改 db.url.0 的数据库链接为实际要连的数据库地址,修改对应的 user、password。

    #*************** 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=root
    db.password.0=12345678
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    当修改完以上配置以后,在通过 nacos/bin 目录下的启动脚本启动 nacos 即可:

    sh startup.sh -m standalone
    
    • 1

    调试源码

    步骤一:通过 git 命令将 nacos 仓库 clone 到本地

    git clone https://github.com/alibaba/nacos.git
    
    • 1

    步骤二:使用idea 打开 nacos 源码

    https://tva1.sinaimg.cn/large/e6c9d24ely1h3jl16bygzj21bg0u0got.jpg

    步骤三:使用 mvn clean compile -U -Dmaven.test.skip=true 命令编译下项目

    https://tva1.sinaimg.cn/large/e6c9d24ely1h3jlbydm93j20yi0u0dn0.jpg

    步骤四:找到 com.alibaba.nacos.Nacos 启动类,在 idea 启动时添加 VM 参数-Dnacos.standalone=true,然后再启动,就可以调试 nacos 源码啦。

    https://tva1.sinaimg.cn/large/e6c9d24ely1h3jllyxo7sj219c0u0tbp.jpg

  • 相关阅读:
    设置tomcat允许跨域
    Jenkins 使用 AD域登陆
    Java基础语法部分
    [附源码]JAVA毕业设计企业信息安全评价系统(系统+LW)
    Django REST项目实战:在线中文字符识别
    Spring实例化源码解析之ConfigurationClassPostProcessor(二)
    Spring事务在多线程下保证原子性
    Android退出应用后是否需要关闭数据库?
    设备驱动程序的原理
    css媒体查询新特性
  • 原文地址:https://blog.csdn.net/qq_34264849/article/details/125453227