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. 验证标准:控制台能登录、配置重启不丢失、进程正常运行。
相关推荐
beata1 小时前
Spring Boot基础-2:Spring Boot 3.x 起步依赖(Starter)深度拆解:为什么引入一个依赖就够了?
spring boot·后端
90后的晨仔1 小时前
windows安装 openclaw 报错
后端
AMoon丶1 小时前
Golang--多种数据结构详解
linux·c语言·开发语言·数据结构·c++·后端·golang
深蓝轨迹2 小时前
SpringBoot YAML配置文件全解析:语法+读取+高级用法
java·spring boot·后端·学习
颜酱2 小时前
最小生成树(MST)核心原理 + Kruskal & Prim 算法
javascript·后端·算法
深蓝轨迹2 小时前
乐观锁 vs 悲观锁 含面试模板
java·spring boot·笔记·后端·学习·mysql·面试
用户7344028193424 小时前
SpringBoot —— 实现邮件、短信的发送功能
后端
写Cpp的小黑黑4 小时前
WebRTC建立流程详解 - 基于WHEP协议
后端