• Nacos安装讲解教程


    Nacos概览

    Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service的首字母简称,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。

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

    Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。

    Nacos开发资料

    1. 官网: https://nacos.io/zh-cn/index.html
    2. nacos文档: https://nacos.io/zh-cn/docs/v2/quickstart/quick-start.html
    3. nacos下载地址: https://github.com/alibaba/nacos/releases

    Nacos安装教程

    nacos下载

    如图所示选择版本对应所需要的版本

    下载zip包后,解压如下图所示:

    nacos目录结构

    application.properties配置文件主要配置讲解

    #*************** Spring Boot Related Configurations ***************#
    ### 默认web访问地址:
    server.servlet.contextPath=/nacos
    ### 默认web端口地址:
    server.port=18848
    
    #*************** Network Related Configurations ***************#
    ### 如果对于cluster.conf中的Nacos服务器地址,首选主机名而不是ip:
    # nacos.inetutils.prefer-hostname-over-ip=false
    
    ### 指定本地服务器的IP:
    # nacos.inetutils.ip-address=
    
    #*************** Config Module Related Configurations ***************#
    ### 指定mysql数据源,此处若是使用数据库必须要配置
    spring.datasource.platform=mysql
    
    ### 数据库数量:
    db.num=1
    
    ### 数据库jdbc相关配置:
    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=123456
    
    ### hikariCP数据库连接池配置
    db.pool.config.connectionTimeout=30000
    db.pool.config.validationTimeout=10000
    db.pool.config.maximumPoolSize=20
    db.pool.config.minimumIdle=2
    
    #*************** Access Control Related Configurations ***************#
    ### 是否开启系统权限验证,默认false,开启后,nacos客户端访问需要添加用户名密码
    nacos.core.auth.enabled=true
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35

    nacos启动

    运行nacos需要先安装jdk并配置系统环境JAVA_HOME

    nacos启动脚本startup.cmd,默认点击运行为集群模式启动

    单机模式nacos启动

    1、修改单机模式方法

    1、在黑窗体环境下切换目录到nacos/bin下,然后输入命令:startup.cmd -m standalone
    2、修改bin目录下的startup.cmd文件,将set MODE="cluster"一行改成set MODE=“standalone”,然后直接运行startup.cmd

    rem set MODE="cluster"
    set MODE="standalone"
    set FUNCTION_MODE="all"
    set SERVER=nacos-server
    set MODE_INDEX=-1
    set FUNCTION_MODE_INDEX=-1
    set SERVER_INDEX=-1
    set EMBEDDED_STORAGE_INDEX=-1
    set EMBEDDED_STORAGE=""
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    2、执行startup.cmd -m standalone,运行如下

    nacos单机运行成功

    集群模式nacos启动

    nacos2.0.4复制二份,分别为18847和18848,然后三个nacos分别如下步骤配置:

    1、配置集群文件cluster.conf

    进入conf目录,将cluster.conf.example复制一份命名为:cluster.conf

    #it is ip
    #example
    192.168.0.105:18848
    192.168.0.105:18847
    192.168.0.105:18846
    
    • 1
    • 2
    • 3
    • 4
    • 5

    2、启动对应三个节点

    startup.cmd即可启动,启动成功如下图所示:

    3、nginx反向代理

    进入nginx的conf目录,修改其中的nginx.conf文件,将以下配置复制到http{}内

    upstream nacos-cluster {
        server 192.168.0.105:18848;
    	server 192.168.0.105:18847;
    	server 192.168.0.105:18846;
    }
     
    server {
        listen       80;
        server_name  localhost;
     
        location /nacos {
            proxy_pass http://nacos-cluster;
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    然后访问http://localhost/nacos即可,如果访问成功说明配置成功
    nacos登录页面
    输入用户名和密码【默认用户名和密码:nacos/nacos】,点击提交,登录成功
    在这里插入图片描述

    Nacos相关问题

    1. nacos集群配置需要关闭ipv6,否则集群节点一直down或者黄色预警。
      springboot项目对接的服务注册会存在接口错误:com.alibaba.nacos.naming.beat.sender namingProxy failed to request nacosexception。
      以centos7为例,关闭ipv6流程:
    1./etc/sysctl.conf中添加此规则:
    net.ipv6.conf.all.disable_ipv6 = 1
    
    2./etc/sysconfig/network中添加此规则:
    NETWORKING_IPV6 = no
    
    3.在对应网卡/etc/sysconfig/network-scripts/ifcfg-ethX中添加此规则:
    IPV6INIT = no
    
    4.重新加载sysctl配置或者重启服务器
    #sysctl -p
    or
    #reboot
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
  • 相关阅读:
    【游戏建模全流程】ZBrush生物模型雕刻教程:豹纹壁虎
    ML.NET在C#项目中的使用
    【容器化】docker和docker-compose/dockerfile和docker-compose.yml
    Mysql性能优化
    高德地图查询经纬度,或者地名(双向查询)
    深入了解HTTP与HTTPS关键差异与底层原理
    spark on yarn 的 executor、cores、driver 作用及配置
    微信定时发圈,让你轻松管理朋友圈!
    如何使用 Overleaf 编写 LaTeX 文档
    【SpringBoot】mockito+junit 单元测试
  • 原文地址:https://blog.csdn.net/u013415591/article/details/127705330