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