阿里微服务注册中心与配置中心Nacos部署过程
naocs阿里系注册中心

前言:Nacos是阿里近几年开源的服务发现+配置中心组件,近几年非常的火,各大公司也在慢慢的接受升级。相比较eureka 和 spring cloud config 而言,Nacos 更加的方便好用,开箱即用的组件,基于mysql的配置持久化,集群快速搭建等等等,而传统的eureka 注册中心繁琐的配置过程,cloud config 基于 中央仓库的繁琐配置,nacos才是我心中的好用。


搭建过程

Nacos有两种使用方式,开箱即用的解压包安装,还有Nacos的git开源项目自行打包构建,由于官方包基础功能基本已经很完善,实际使用中基本上很少需要自己基于官方开源项目二次封装,如果真的有需求,自己clone https://github.com/alibaba/nacos.git 二次开发即可。我这里只讲开箱即用的部署方式。

  1. 登录服务器:直接使用curl 命令下载官方安装包,https://github.com/alibaba/nacos/releases 这里可以找到官方的正式版本,我这里使用的是 1.1.4版本。1590850650285.jpg
  2. 使用 tar zxvf 命令解压 包到安装目录1590850751163.jpg
  3. 这里安装文件已经解压完成,我们下面一步就进去解压后的目录修改相关配置文件1590850868776.jpg这里可以看到有五个目录
    1. bin 目录为nacos一些脚本文件,比如启动啦,重启拉什么的都在这里。
      1. bin目录里面还一个logs文件夹,这个文件夹与一级目录的logs文件夹的区别为,一级目录里存放的的log为nacos本身的一些记录,比如启动记录,内存使用情况,gc情况等等,而bin目录下的logs文件为nacos的client心跳日志,如果遇到服务注册后无法使用等,可以从这里查一些信息。
    2. conf目录则是nacos的一些配置目录比如持久化初始化sql脚本,log_back,nacos配置文件等。
    3. data目录为nacos的源数据,这里暂时使用不到。
    4. logs文件为1所说,nacos本身的log文件。
    5. target 就是nacos的启动jar包了。
  4. 安装完成后,我们第一步需要修改nacos的配置文件。进入conf目录后,我们可以看到有application.properties.exmple,nacos-logback.xml,cluster.conf.example,nacos-mysql.sql等文件。1590851429374.jpg

application.properties .example为官方 的示例配置,1590851577170.jpg
    我们可以看到,基本上就是基础数据库连接配置,还有服务启动配置等简单的信息。这里我们将此文件复制一份,命名为application.properties,修改里面数据库连接池为我们自己数据库的连接(数据库初始化脚本运行conf目录下的nacos-mysql.sql文件),用户名密码同理,service.port修改nacos启动端口,我这里默认 8848端口(喜马拉雅山高度)。
    5.   修改nacos-logback.xml文件,调整日志级别(坑点1,nacos默认日志级别为info,心跳等日志文件非常多,正常使用过程中,基本上几个服务正常使用1个月,就可以打满20G的硬盘空间。),这里调整级别的方式有两种,一种是修改logback文件里的日志级别,一种是关闭心跳日志,我这里直接关闭了心跳日志。
    6.   到这里基本上,nacos启动前的准备工作完成,可以直接启动。
            nacos启动方式分为单机启动和集群启动,不同的启动方式也是对应不同的。
             根据官方的执行命令:

                    单机:sh startup.sh -m standalone
                    集群:sh startup.sh

我这里演示的是单机启动。如果需要集群启动,参照 步骤8。
            启动方式为进入bin目录下,直接执行 sh startup.sh -m standalone 即可,我这里nacos已经在使用,就不做演示了,如果碰到启动失败等问题可以监控 logs目录下的nacos.log 或者 start.out文件查找原因。
    7.    启动完成后,页面访问  ip加8848加/nacos 访问nacos页面(一定要加/nacos 不然页面直接404,我当时在这里卡了很久招不到问题)。默认登录用户名密码都为:nacos。 如果需要修改或者添加,就新建项目引入依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>

然后参照官方加密方式执行


new BCryptPasswordEncoder().encode("xxx"); xxx为需要加密的自定义密码

最后将结果存入上面初始化的数据库里的users表中即可。如果是新增用户,roles表中也要同步新增一条数据。

1590852415706.jpg

8.集群启动
        Nacos的集群也非常友好,只需要修改 conf目录下的 cluster.conf.example 文件为 cluster.conf ,并且里面修改为你集群所有的机器ip或者域名即可。
至此,nacos配置安装完成。具体服务如何接入nacos,我后面文档会有更新。

暂无评论