# xiaomayi-nacos **Repository Path**: xiaomayiteam/xiaomayi-nacos ## Basic Information - **Project Name**: xiaomayi-nacos - **Description**: 小蚂蚁云 Nacos 是一款基于 Alibaba Nacos 轻量级类库,提供更简单、更强大的微服务配置管理、服务发现及动态路由能力。实现工程化启用与管理,帮助开发者快速构建云原生应用。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2025-06-24 - **Last Updated**: 2025-07-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

logo

Nacos服务搭建文档

1、技术方案 Nacos注册配置中心服务部署有多种模式,如源码部署、Docker容器化部署等等,每种部署方案都有各自的优缺点,此处不去深入探讨; 本案例主要实现 `nacos` 工程化部署的方式,通过应用服务的方式搭建,源码部署实现方案在上个章节《源码部署》已经做了详细的 说明,原理很好理解,将源码包中最核心的 `nacos-console` 工程单独剥离出来单独成立一个服务,此外将整体 `nacos` 打包后 将JAR包作为依赖打包进入即可;当然也可以将模块依赖JAR包上传至 `nexus` 私服,做Maven依赖下载也可以;本章节以直接引入 JAR包的方式进行实现;私服部署后续再做详细介绍; 2、核心模块 将 `nacos` 核心工程单独剥离出来,如下图:

logo

> 需要将 nacos-console 模块核心部件全部剥离至独立的应用中; 3、新建应用 新建一个 `springboot` 应用工程,如如下:

logo

4、导入JAR包

logo

JAR来源于 `nacos` 源码工程打包后生成的包,如下图:

logo

5、配置文件 从源码包 `nacos-console` 模块中拷贝 `application.properties` 配置文件,通过第三方工具转换为 `application.yml` 文件,具体内容如下: ``` # 特别说明,此文件由 nacos v2.3.2 原生配置文件application.properties直接格式化转换而来 server: error: include-message: ALWAYS # 访问端口 port: 8848 servlet: # 访问上下文前缀 contextPath: /nacos tomcat: accesslog: enabled: true max-days: 30 pattern: '%h %l %u %t "%r" %s %b %D %{User-Agent}i %{Request-Source}i' basedir: file:. spring: # 数据源类型:MySQL datasource: platform: mysql # 数据库配置 db: num: 1 url: 0: jdbc:mysql://${MYSQL_HOST:127.0.0.1}:${MYSQL_PORT:3306}/${MYSQL_DB:nacos_config}?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC user: root password: 123456 management: metrics: export: elastic: enabled: false influx: enabled: false # nacos配置 nacos: config: push: maxRetryTime: 50 core: auth: caching: enabled: true enable: userAgentAuthWhite: false # 开启鉴权 登录账号和密码在数据库中users表 enabled: true # 插件配置 plugin: nacos: token: cache: enable: false expire: seconds: 18000 # 设置秘钥,随意Base64编码,长度至少32字节 secret: key: SecretKey012345678901234567890123456789012345678901234567890123456789 server: # 随意配置下面两个属性,不配置启动报错 identity: key: serverIdentity value: security system: type: nacos istio: mcp: server: enabled: false naming: empty-service: auto-clean: true clean: initial-delay-ms: 50000 period-time-ms: 30000 # 安全认证配置 security: # 忽略URL ignore: # URL地址,多个逗号分隔 urls: /,/error,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-ui/public/**,/v1/auth/**,/v1/console/health/**,/actuator/**,/v1/console/server/** ``` 6、POM文件 在根POM文件中需要引入依赖关系JAR包,具体文件内容如下: ``` 4.0.0 com.alibaba xiaomayi-nacos 1.0.0 xiaomayi-nacos https://nacos.io 小蚂蚁nacos注册配置中心 1.0.0 2.3.2 1.8 8.2.0 8 8 UTF-8 2.7.18 ${project.basedir}/src/main/resources/lib com.alibaba.nacos nacos-all ${nacos.version} pom import org.springframework.boot spring-boot-dependencies ${spring-boot-dependencies.version} pom import com.alibaba.nacos nacos-config ${nacos.version} system ${nacos.lib.path}/nacos-config-${nacos.version}.jar com.alibaba.nacos nacos-naming ${nacos.version} system ${nacos.lib.path}/nacos-naming-${nacos.version}.jar com.alibaba.nacos nacos-default-plugin-all ${nacos.version} system ${nacos.lib.path}/nacos-default-plugin-all-${nacos.version}.jar com.alibaba.nacos nacos-istio ${nacos.version} system ${nacos.lib.path}/nacos-istio-${nacos.version}.jar com.alibaba.nacos nacos-prometheus ${nacos.version} system ${nacos.lib.path}/nacos-prometheus-${nacos.version}.jar com.alibaba.nacos nacos-auth ${nacos.version} system ${nacos.lib.path}/nacos-auth-${nacos.version}.jar com.alibaba.nacos nacos-config-plugin ${nacos.version} system ${nacos.lib.path}/nacos-config-plugin-${nacos.version}.jar com.alibaba.nacos nacos-consistency ${nacos.version} system ${nacos.lib.path}/nacos-consistency-${nacos.version}.jar com.alibaba.nacos nacos-control-plugin ${nacos.version} system ${nacos.lib.path}/nacos-control-plugin-${nacos.version}.jar com.alibaba.nacos nacos-core ${nacos.version} system ${nacos.lib.path}/nacos-core-${nacos.version}.jar com.alibaba.nacos default-auth-plugin ${nacos.version} system ${nacos.lib.path}/default-auth-plugin-${nacos.version}.jar com.alibaba.nacos nacos-sys ${nacos.version} system ${nacos.lib.path}/nacos-sys-${nacos.version}.jar com.alibaba.nacos nacos-persistence ${nacos.version} system ${nacos.lib.path}/nacos-persistence-${nacos.version}.jar com.alibaba.nacos nacos-datasource-plugin ${nacos.version} com.alibaba.nacos nacos-trace-plugin ${nacos.version} com.alibaba.nacos nacos-common ${nacos.version} com.alibaba.nacos nacos-client com.alibaba.nacos nacos-cmdb ${nacos.version} system ${nacos.lib.path}/nacos-cmdb-${nacos.version}.jar com.alibaba.nacos nacos-auth-plugin ${nacos.version} system ${nacos.lib.path}/nacos-auth-plugin-${nacos.version}.jar com.alibaba.nacos nacos-custom-environment-plugin ${nacos.version} com.alibaba.nacos nacos-encryption-plugin ${nacos.version} com.caucho hessian commons-collections commons-collections ch.qos.logback logback-classic ch.qos.logback logback-core org.apache.derby derby com.alipay.sofa jraft-core com.alipay.sofa rpc-grpc-impl org.slf4j log4j-over-slf4j org.slf4j jcl-over-slf4j org.slf4j jul-to-slf4j com.mysql mysql-connector-j ${mysql-connector-j.version} org.springframework.boot spring-boot-starter-security org.springframework.boot spring-boot-test-autoconfigure test org.springframework.boot spring-boot-starter-web org.apache.logging.log4j * org.springframework.boot spring-boot-starter-jdbc org.springframework.boot spring-boot-starter-aop org.springframework.ldap spring-ldap-core src/main/resources static/console-ui/.vscode/** org.codehaus.mojo findbugs-maven-plugin release-nacos xiaomayi-nacos maven-jar-plugin true true org.springframework.boot spring-boot-maven-plugin repackage ``` > 文件主体内容从源码包 `nacos-console` 模块中直接拷贝而来,JAR依赖需要自行编写; 7、启动项目

logo

登录界面:

logo

服务主页:

logo