Win11 安装 Nacos 2.0.4 完整版文档 文档说明

Win11 安装 Nacos 2.0.4 完整版文档

文档说明

本文档适配 Spring Boot 2.7.18 + Spring Cloud 2021.0.8 + Spring Cloud Alibaba 2021.0.5.0 技术栈,包含环境校验、单机配置、MySQL 8.0 持久化、异常兜底等全流程,确保新手可一键落地。

一、前置条件(必须满足)

表格

检查项 操作步骤 & 要求
JDK 版本 1. 打开 CMD 输入 java -version,输出必须是 1.8.x(如 1.8.0_301);2. 输入 echo %JAVA_HOME%,确保输出 JDK 8 路径(无空格 / 中文)。
MySQL 版本 推荐 8.0(5.7 也兼容),确保 MySQL 服务正常运行,且能正常连接。
端口检查 输入 `netstat -ano findstr 8848,若有结果(PID 数字),执行 taskkill /f/pid 端口 PID` 结束占用进程。

二、安装包准备

1. 下载地址

  • 官方下载(推荐):github.com/alibaba/nac...
  • 解压要求:解压到无空格 / 无中文 / 无特殊符号 路径,例如 D:\middleware\nacos-2.0.4(下文简称 NACOS_HOME)。
  • 解压后操作:右键压缩包 → 属性 → 取消「只读」→ 勾选「解除锁定」(Win11 安全限制),用 WinRAR/7-Zip 解压(避免系统解压损坏文件)。

2. 备份关键文件

进入 %NACOS_HOME%\bin 目录,复制 startup.cmd 并重命名为 startup.cmd.bak(防止改坏无法恢复)。

三、核心配置(单机模式 + 内存优化)

1. 设置单机模式

编辑 %NACOS_HOME%\bin\startup.cmd(推荐 Notepad++,避免记事本乱码):

  • 在第26行代码中 set MODE = "cluster" 更改为 set MODE = "standalone"

    bat

    ini 复制代码
    set MODE= "standalone"
  • 找到 JVM 内存配置行,修改为低配适配值:

    bat

    bash 复制代码
    # 原配置(过高,Win11 低配易OOM)
    set "JAVA_OPT=%JAVA_OPT% -Xms2g -Xmx2g -Xmn1g"
    # 修改后
    set "JAVA_OPT=%JAVA_OPT% -Xms512m -Xmx512m -Xmn256m"
  • 保存文件,重新打开确认修改生效。

2. MySQL 8.0 持久化配置(必做,避免数据丢失)

步骤 1:执行初始化 SQL
  • SQL 文件路径:%NACOS_HOME%\conf\nacos-mysql.sql

  • 执行步骤:

    1. 打开 MySQL 客户端(Navicat/CMD),创建数据库:

      sql

      sql 复制代码
      CREATE DATABASE IF NOT EXISTS nacos_config CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
    2. 切换数据库:USE nacos_config;

    3. 执行 nacos-mysql.sql 中所有语句(复制粘贴 / 导入文件均可)。

步骤 2:配置 MySQL 连接

编辑 %NACOS_HOME%\conf\application.properties,在文件末尾添加:

properties

ini 复制代码
# 开启 MySQL 持久化(关闭默认 Derby 临时库)
spring.datasource.platform=mysql
# MySQL 实例数(单机填 1)
db.num=1
# MySQL 连接地址(根据实际 IP/端口修改)
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
# MySQL 账号(替换为你的账号)
db.user.0=root
# MySQL 密码(替换为你的密码)
db.password.0=123456
# MySQL 8.0 驱动类名(5.7 用 com.mysql.jdbc.Driver)
db.driver-class-name=com.mysql.cj.jdbc.Driver
步骤 3:添加 MySQL 驱动(关键!Nacos 无内置)
  1. 下载驱动包:

  2. 放入路径:%NACOS_HOME%\plugins\mysql(无 mysql 文件夹则手动创建)。

四、启动 & 验证

1. 启动 Nacos

  1. 管理员身份打开 CMD,切换到 bin 目录:

    bash

    运行

    bash 复制代码
    cd /d D:\middleware\nacos-2.0.4\bin
  2. 执行启动命令:

    bash

    运行

    复制代码
    startup.cmd
  3. 实时监控日志(排查报错):新开 CMD 窗口,输入:

    bash

    运行

    bash 复制代码
    tail -f D:\middleware\nacos-2.0.4\logs\start.out

    日志显示 Nacos started successfully in standalone mode. → 启动成功。

2. 多维度验证

表格

验证方式 操作 & 预期结果
控制台访问 浏览器打开 http://localhost:8848/nacos,输入账号 nacos、密码 nacos → 进入控制台。
持久化验证 控制台新增配置(Data ID:test.yml,内容:test:123)→ 重启 Nacos → 配置仍存在;MySQL 中 nacos_config.config_info 表能看到该配置。
接口验证 访问 http://localhost:8848/nacos/v1/ns/instance?serviceName=test → 返回 {"code":400,"message":"param error"}(接口通即正常)。
进程验证 任务管理器 → 详细信息 → 找到含 nacosjava.exe 进程 → 运行中。

3. 停止 Nacos(可选)

bash

运行

bash 复制代码
cd /d D:\middleware\nacos-2.0.4\bin
shutdown.cmd

五、可选优化:开机自启

  1. 右键 startup.cmd → 创建快捷方式;
  2. 按下 Win+R → 输入 shell:startup → 把快捷方式拖到「启动」文件夹;
  3. 右键快捷方式 → 属性 → 「高级」→ 勾选「以管理员身份运行」(避免权限不足)。

六、常见问题兜底

表格

问题现象 原因 & 解决方案
启动闪窗消失 JAVA_HOME 配置错误 / 路径有空格 → 重新配置 JAVA_HOME 为 JDK 8 纯英文路径。
控制台能进但配置不持久化 未加 MySQL 驱动 / 驱动版本不匹配 → 检查 plugins/mysql 下的驱动包版本。
服务注册失败 Nacos 端口改了但代码未同步 → 检查 application.propertiesserver.port 与代码配置一致。
MySQL 连接报错 "Public Key Retrieval is not allowed" MySQL 8.0 加密规则问题 → 在连接 URL 中添加 allowPublicKeyRetrieval=true

七、版本兼容性说明

表格

组件 版本 兼容性 关键注意点
Spring Boot 2.7.18 MySQL 8.0 ✅ 完全兼容 项目侧驱动类用 com.mysql.cj.jdbc.Driver,URL 含 serverTimezone=UTC
Nacos 2.0.4 MySQL 8.0 ✅ 兼容 驱动包放入 plugins/mysql,驱动类配置为 com.mysql.cj.jdbc.Driver

八、总结

  1. 核心步骤:解压到纯英文路径 → 配置单机模式 + 内存优化 → 配置 MySQL 8.0 持久化 + 添加驱动 → 管理员启动;
  2. 关键避坑点:JDK 必须 8 版本、MySQL 驱动需手动添加、路径不能有中文 / 空格、MySQL 8.0 需配置时区和正确驱动类;
  3. 验证标准:控制台能登录、配置重启不丢失、进程正常运行。
相关推荐
努力的小郑1 小时前
Canal 不难,难的是用好:从接入到治理
后端·mysql·性能优化
Victor3562 小时前
MongoDB(87)如何使用GridFS?
后端
Victor3562 小时前
MongoDB(88)如何进行数据迁移?
后端
小红的布丁2 小时前
单线程 Redis 的高性能之道
redis·后端
GetcharZp2 小时前
Go 语言只能写后端?这款 2D 游戏引擎刷新你的认知!
后端
宁瑶琴4 小时前
COBOL语言的云计算
开发语言·后端·golang
普通网友4 小时前
阿里云国际版服务器,真的是学生党的性价比之选吗?
后端·python·阿里云·flask·云计算
IT_陈寒5 小时前
Vue的这个响应式问题,坑了我整整两小时
前端·人工智能·后端
Soofjan6 小时前
Go 内存回收-GC 源码1-触发与阶段
后端
shining6 小时前
[Golang]Eino探索之旅-初窥门径
后端