记录本地安装nacos服务的方法及异常

1.安装

直接到官网上下载所需要的版本Nacos Server 下载 | Nacos 官网

解压到不含中文和空格的路径,例如 `D:\tools\nacos`

启动:不要双击 `startup.cmd`。它默认走集群模式,会直接报错。请在命令行执行:

bash 复制代码
cd /d D:\tools\nacos\bin
.\startup.cmd -m standalone

看到 `Nacos started successfully in stand alone mode` 即成功。这个窗口不能关

2.异常

【要求输入密钥值】

如果提示要求输入密钥值(从 Nacos 2.2.0.1 版本开始,官方为了安全,移除了默认密钥,要求你必须自己生成一个填进去,否则无法启动):

bash 复制代码
nacos.core.auth.plugin.nacos.token.secret.key value is empty, please input:

解决:

你需要自己创建一个满足以下条件的字符串:

  1. 推荐格式:Base64 编码后的字符串。
  2. 长度要求:原始密钥长度不得低于 32 字符。

生成方法(任选一种):

  1. Linux/Mac 终端:
bash 复制代码
openssl rand -base64 32

(这会直接生成一个符合要求的随机 Base64 字符串,复制结果即可)

  1. Windows PowerShell:
bash 复制代码
[System.Convert]::ToBase64String((1..32 | ForEach-Object { Get-Random -Maximum 256 }))
  1. 临时测试(不推荐生产用):

如果你只是本地测试,可以直接用官方文档里那个公开的测试密钥:

bash 复制代码
SecretKey012345678901234567890123456789012345678901234567890123456789

注意:这个值是公开的,有安全风险,正式环境务必换成自己生成的。

生成好密钥后,有两种填法:

  • 方法一:直接响应提示(最快)

在你运行 startup.cmd 的那个黑窗口里,直接粘贴你生成的密钥,然后按回车。启动脚本会自动把它写入配置并启动。

  • 方法二:手动改配置文件
  1. 打开 Nacos 安装目录下的 conf/application.properties 文件。

  2. 找到或添加这一行:

bash 复制代码
nacos.core.auth.plugin.nacos.token.secret.key=你生成的Base64字符串

保存后重新启动 Nacos。

补充提醒

如果你是集群部署,所有节点的这个密钥值必须完全一致,否则节点间通信会报 403 错误

【版本不匹配】

bash 复制代码
"nacos is starting with standalone"
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/springframework/boot/loader/launch/PropertiesLauncher has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 52.0
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:495)
请按任意键继续. . .

直接改 Nacos 启动脚本(一劳永逸)

如果你希望每次启动这个 Nacos 都固定用 JDK 17,可以直接在 startup.cmd 里写死路径。

  1. 用记事本打开 Nacos 安装目录下 bin\startup.cmd。

  2. 在文件开头(@echo off 之后)加上一行:

    cmd

    复制代码
    set JAVA_HOME=C:\Program Files\Java\jdk-17

    (把路径换成你 JDK 17 的实际安装位置)

  3. 保存后正常双击或运行 startup.cmd -m standalone 即可。

相关推荐
白杨尚青5 小时前
C++进阶篇(六):map 和 set 的模拟实现——用红黑树封装 mymap/myset(迭代器 + operator[])
开发语言·c++·迭代器·stl·set·map·红黑树
学长毕设5 小时前
基于springboot科创竞赛信息平台-附源码
java·spring boot·后端
聪明的笨猪猪6 小时前
Java 工程案例:AI 生成 @Async 异步线程池踩坑
java·经验分享·面试·ai编程
学长毕设6 小时前
基于SpringBoot公务员考试交流平台-附源码
java·spring boot·后端
SL_staff8 小时前
私有化低代码:面向强监管行业的可控数字化实践
java·低代码
饮水桶_T8 小时前
JAVA IO流笔记
开发语言·数据结构·算法
三翼鸟数字化技术团队9 小时前
高性能存储引擎RocksDB:原理与Java生态实践
java
SL_staff9 小时前
JVS-APS有限产能建模的七个刚性支点:面向产线真实约束的技术实现解析
java·开源·全栈
特立独行的猫A9 小时前
少 3 个环节、少 1 次 ABI、少 3500 行代码:cj-tauri 与 Ionic/Capacitor 的鸿蒙桥接机制对比
java·后端·python
学长毕设9 小时前
基于SpringBoot的高校后勤报修管理系统-附源码
java·spring boot·后端