2026/2/11 23:26:58
网站建设
项目流程
套用别人产品图片做网站,广州的百度推广公司,广告设计公司深圳品牌设计公司,自学做网站需要学会哪些Nacos 作为阿里巴巴开源的动态服务发现、配置管理和服务管理平台#xff0c;凭借其轻量、易用、功能全面的特性#xff0c;成为微服务架构中的核心组件。无论是本地开发测试#xff0c;还是生产环境部署#xff0c;掌握 Nacos 单机版与集群版的搭建方法都至关重要。本文将从…Nacos 作为阿里巴巴开源的动态服务发现、配置管理和服务管理平台凭借其轻量、易用、功能全面的特性成为微服务架构中的核心组件。无论是本地开发测试还是生产环境部署掌握 Nacos 单机版与集群版的搭建方法都至关重要。本文将从零开始手把手带你完成搭建并梳理核心避坑点让你少走弯路。一、前置环境准备搭建 Nacos 前需确保环境满足以下要求这是避免后续各类启动报错的基础。1. 基础依赖JDKNacos 基于 Java 开发要求 JDK 版本 ≥ 1.8推荐 1.8 或 11高版本如 17 可能存在兼容性问题需配置 JAVA_HOME 环境变量。Maven可选若从源码编译 Nacos 需 Maven 3.2若使用官方二进制包可跳过。数据库单机版默认使用嵌入式 Derby 数据库无需额外配置开箱即用。集群版必须使用 MySQL 数据库版本 5.7 或 8.0用于存储集群节点信息、配置数据等。网络确保服务器间端口互通单机版需开放 8848 端口集群版还需开放 9848、9849 等端口。2. 环境验证打开终端/命令行执行以下命令验证环境是否就绪# 验证 JDK 版本java -version# 若配置 Maven验证 Maven 版本mvn -v若输出对应版本信息说明基础环境正常若提示“命令不存在”需检查环境变量配置是否正确。二、Nacos 单机版搭建快速上手单机版适合本地开发、测试场景搭建流程简单无需复杂配置。1. 下载 Nacos 二进制包推荐从 Nacos 官方 GitHub Release 页面下载稳定版二进制包避免源码编译的繁琐。官方地址https://github.com/alibaba/nacos/releases选择对应系统版本Windows 选 zip 包Linux/Mac 选 tar.gz 包推荐下载稳定版如 2.3.2避免使用快照版。2. 解压与目录说明Linux/Mac 环境# 解压压缩包tar-zxvf nacos-server-2.3.2.tar.gz -C /usr/local/# 进入 Nacos 目录cd/usr/local/nacosWindows 环境直接右键解压 zip 包进入解压后的 nacos 目录即可。核心目录说明bin启动脚本目录startup.sh 为 Linux/Mac 脚本startup.cmd 为 Windows 脚本。conf配置文件目录核心配置文件 application.properties。logs日志目录启动报错可查看此目录下的 nacos.log。3. 启动 Nacos 单机版Linux/Mac 环境# 进入 bin 目录cdbin# 启动单机版默认就是单机模式可省略 -m standalone 参数shstartup.sh -m standaloneWindows 环境双击 bin 目录下的startup.cmd或在命令行中执行cd bin startup.cmd -m standalone4. 验证启动成功查看日志启动后可查看 logs/nacos.log若出现 “Nacos started successfully in standalone mode.” 说明启动成功。访问控制台打开浏览器输入http://localhost:8848/nacos默认账号密码均为nacos登录成功即可进入 Nacos 管理界面。单机版避坑点启动报错 “JAVA_HOME is not set”需重新配置 JAVA_HOME 环境变量确保全局生效Linux 可在 /etc/profile 中配置Windows 在系统环境变量中设置。8848 端口被占用使用netstat -anp | grep 8848Linux或netstat -ano | findstr 8848Windows查找占用进程kill 进程后重新启动或修改 conf/application.properties 中的 server.port 配置自定义端口。嵌入式 Derby 数据库问题单机版默认使用 Derby重启后数据不会丢失但不可用于生产环境仅适合测试。三、Nacos 集群版搭建生产环境生产环境需搭建 Nacos 集群保证高可用推荐 3 个及以上节点奇数节点避免脑裂。以下以 Linux 环境、3 节点集群、MySQL 8.0 为例搭建。1. 前期准备3 台 Linux 服务器示例 IP192.168.1.101、192.168.1.102、192.168.1.103均完成 JDK 配置。1 台 MySQL 服务器创建 Nacos 数据库默认数据库名 nacos_config。所有服务器关闭防火墙或开放 8848服务端口、9848客户端通信端口、9849节点间通信端口。2. 配置 MySQL 数据库2.1 创建数据库与表登录 MySQL执行以下命令创建数据库然后导入 Nacos 自带的 SQL 脚本-- 创建数据库CREATEDATABASEnacos_configCHARACTERSETutf8mb4COLLATEutf8mb4_unicode_ci;-- 使用数据库USEnacos_config;SQL 脚本路径nacos/conf/nacos-mysql.sql直接复制脚本内容在 MySQL 中执行会自动创建配置表、用户表等核心表。2.2 授权数据库访问为 Nacos 集群节点授权访问 MySQL允许 3 个节点 IP 访问GRANTALLPRIVILEGESONnacos_config.*TOnacos192.168.1.%IDENTIFIEDBYNacos123;FLUSHPRIVILEGES;3. 配置 Nacos 集群节点在 3 台服务器上分别解压 Nacos 二进制包然后进行以下配置以 192.168.1.101 为例其他节点配置一致仅 IP 不同。3.1 修改核心配置文件cd/usr/local/nacos/conf# 备份默认配置文件cpapplication.properties application.properties.bak# 编辑配置文件vimapplication.properties在配置文件中添加/修改以下内容关联 MySQL 数据库# 关闭嵌入式数据库使用 MySQL spring.datasource.platformmysql # MySQL 数据源数量 db.num1 # MySQL 连接地址替换为自己的 MySQL IP 和端口 db.url.0jdbc:mysql://192.168.1.200:3306/nacos_config?characterEncodingutf8connectTimeout1000socketTimeout3000autoReconnecttrueuseUnicodetrueuseSSLfalseserverTimezoneUTC # MySQL 账号密码替换为自己的授权账号密码 db.user.0nacos db.password.0Nacos123 # 自定义服务端口默认 8848可根据需求修改 server.port88483.2 配置集群节点列表复制集群配置模板文件修改为集群节点信息cpcluster.conf.example cluster.confvimcluster.conf删除默认内容添加 3 个节点的 IP 和端口端口需与 application.properties 中一致192.168.1.101:8848 192.168.1.102:8848 192.168.1.103:8848⚠️ 注意集群节点列表需在所有节点上保持一致不可遗漏或写错 IP/端口。4. 启动 Nacos 集群在 3 台服务器上分别执行以下命令启动集群节点无需指定 -m 参数默认集群模式cd/usr/local/nacos/binshstartup.sh5. 验证集群启动成功查看日志每台节点的 logs/nacos.log 中若出现 “Nacos started successfully in cluster mode.” 说明节点启动成功。访问控制台任意节点的 IP:8848/nacos登录后在左侧 “集群管理 - 节点列表” 中可看到 3 个节点均为 “健康” 状态说明集群搭建成功。数据同步测试在任意节点控制台添加一条配置切换到其他节点查看若配置同步正常说明集群数据同步正常。集群版避坑点MySQL 连接失败检查 MySQL IP、端口是否正确账号密码是否有访问权限MySQL 服务是否正常运行若为 MySQL 8.0需确保 Nacos 版本支持2.0 版本兼容 MySQL 8.0且 URL 中添加 serverTimezone 参数。集群节点无法通信确保节点间 9848、9849 端口互通关闭防火墙或配置端口开放规则检查 cluster.conf 中节点信息是否正确无多余空格或换行。节点状态异常查看 logs/naming-server.log排查是否存在网络波动、端口占用、数据库连接异常等问题确保所有节点的 Nacos 版本一致避免版本差异导致集群故障。数据一致性问题生产环境建议给 MySQL 配置主从复制避免 MySQL 单点故障导致 Nacos 集群无法写入数据集群节点数需为奇数确保投票选举机制正常。内存不足报错Nacos 默认启动占用较大内存可修改 bin/startup.sh 中的 JVM 参数-Xms、-Xmx根据服务器内存调整如 2G 内存可设置为 -Xms512m -Xmx512m。四、常见问题排查总结1. 启动报错优先查日志Nacos 启动报错的核心日志文件nacos.log主日志记录启动整体流程和错误信息。naming-server.log服务发现模块日志集群节点通信异常可查此日志。config-server.log配置管理模块日志数据库连接、配置同步异常可查此日志。2. 端口占用问题除了 8848 端口Nacos 还会占用 9848客户端 gRPC 端口、9849节点间 gRPC 端口、9555健康检查端口若这些端口被占用需手动释放或修改配置文件自定义端口。3. 环境变量问题Linux 环境下若通过脚本启动 Nacos 时提示 JAVA_HOME 未设置需在 /etc/profile 中配置全局环境变量配置后执行source /etc/profile使其生效。五、总结Nacos 单机版搭建简单适合快速开发测试集群版需关注数据库配置、节点通信、端口开放等细节确保高可用和数据一致性。搭建过程中优先保证基础环境达标遇到问题先查日志再针对性排查端口、网络、数据库等核心环节避开上述坑点即可顺利完成搭建。后续可结合实际业务场景配置 Nacos 服务注册与发现、配置管理实现微服务架构的动态管控。若需进一步优化可添加 Nginx 作为负载均衡器统一入口访问 Nacos 集群提升可用性。