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
iniset 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; -
执行步骤:
-
打开 MySQL 客户端(Navicat/CMD),创建数据库:
sql
sqlCREATE DATABASE IF NOT EXISTS nacos_config CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; -
切换数据库:
USE nacos_config;; -
执行
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 无内置)
-
下载驱动包:
- MySQL 8.0:
mysql-connector-java-8.0.30.jar下载地址:mvnrepository.com/artifact/my...
- MySQL 8.0:
-
放入路径:
%NACOS_HOME%\plugins\mysql(无mysql文件夹则手动创建)。
四、启动 & 验证
1. 启动 Nacos
-
以管理员身份打开 CMD,切换到 bin 目录:
bash
运行
bashcd /d D:\middleware\nacos-2.0.4\bin -
执行启动命令:
bash
运行
startup.cmd -
实时监控日志(排查报错):新开 CMD 窗口,输入:
bash
运行
bashtail -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"}(接口通即正常)。 |
| 进程验证 | 任务管理器 → 详细信息 → 找到含 nacos 的 java.exe 进程 → 运行中。 |
3. 停止 Nacos(可选)
bash
运行
bash
cd /d D:\middleware\nacos-2.0.4\bin
shutdown.cmd
五、可选优化:开机自启
- 右键
startup.cmd→ 创建快捷方式; - 按下
Win+R→ 输入shell:startup→ 把快捷方式拖到「启动」文件夹; - 右键快捷方式 → 属性 → 「高级」→ 勾选「以管理员身份运行」(避免权限不足)。
六、常见问题兜底
表格
| 问题现象 | 原因 & 解决方案 |
|---|---|
| 启动闪窗消失 | JAVA_HOME 配置错误 / 路径有空格 → 重新配置 JAVA_HOME 为 JDK 8 纯英文路径。 |
| 控制台能进但配置不持久化 | 未加 MySQL 驱动 / 驱动版本不匹配 → 检查 plugins/mysql 下的驱动包版本。 |
| 服务注册失败 | Nacos 端口改了但代码未同步 → 检查 application.properties 中 server.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。 |
八、总结
- 核心步骤:解压到纯英文路径 → 配置单机模式 + 内存优化 → 配置 MySQL 8.0 持久化 + 添加驱动 → 管理员启动;
- 关键避坑点:JDK 必须 8 版本、MySQL 驱动需手动添加、路径不能有中文 / 空格、MySQL 8.0 需配置时区和正确驱动类;
- 验证标准:控制台能登录、配置重启不丢失、进程正常运行。