前言
注:
1.Nacos Server 3.0.x 要求 JDK版本不低于17。
2.Nacos 2.2.0 及以上版本需要 Java 11 或更高版本。
3.Java 8,需要下載 Nacos 2.1.x 及以下版本
JDK17安裝
JDK官方下載地址:Oracle官網JDK下載地址
JDK17:JDK17下載地址
下載后,點擊安裝即可。配置好Java_Home環境變量。
驗證是否成功
打開cmd,輸入
java -version
出現對應的版本信息即為安裝成功.
java version "17.0.15" 2025-04-15 LTS
Java(TM) SE Runtime Environment (build 17.0.15+9-LTS-241)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.15+9-LTS-241, mixed mode, sharing)
Nacos-Server 3.0.x下載安裝
下載
方式一 githup
githup下載地址:githup下載地址
方式二 Nacos-Server 官網
Nacos-Server 官網:Nacos官網下載地址
不推薦,很慢,本人沒成功。自測!!!!!
安裝
將下載好的壓縮包解壓。
配置Nacos
修改默認啟動端口
因本地有其它版本的nacos,需要修改端口,若無其它版本nacos,可忽略,也可根據自己需要修改端口。
在解壓文件夾下找到 application.properties 文件。一般位于 conf 文件夾下。
編輯配置文件。例如我這里改稱18085端口。
nacos.server.main.port=18085
開啟認證及設置默認密碼
修改默認管理頁端口
可根據自己需要修改
nacos.console.port=8050
開啟認證并設置賬號、密碼、密鑰
nacos.core.auth.console.enabled=true
nacos.core.auth.server.identity.key=nacos
nacos.core.auth.server.identity.value=nacos
nacos.core.auth.plugin.nacos.token.cache.enable=false
nacos.core.auth.plugin.nacos.token.expire.seconds=18000
nacos.core.auth.plugin.nacos.token.secret.key=VGhpc0lzTXlDdXN0b21TZWNyZXRLZXkwMTIzNDU2Nzg=
設置單機啟動
在 bin目錄下找到startup.cmd文件,用記事本或其它工具打開。
找到啟動模式配置,修改為單機啟動,如是集群配置,需要添加集群IP,因我是作為本地開發測試用,單機啟動即可。
set MODE="standalone"
啟動nacos
在 bin目錄下找到 startup.cmd ,雙擊啟動。
例如:我這里管理地址為:
http://localhost:8050/index.html
第一次進入要求設置密碼,設置好自行保存。
配置MySQL數據庫存儲配置文件(可選)
添加或修改配置文件:
db.url=jdbc:mysql://ip:port/database?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=Asia/Shanghai
db.user=username
db.password=password
常見錯誤及解決辦法
JDK版本低于17
報錯信息
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
解決辦法
升級JDK版本到17及以上。
未開啟認證及設置賬號密碼
報錯信息
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultAuthenticationManager' defined in class path resource [com/alibaba/nacos/plugin/auth/impl/configuration/core/NacosAuthPluginCoreConfig.class]: Unsatisfied dependency expressed through method 'defaultAuthenticationManager' parameter 1: Error creating bean with name 'tokenManagerDelegate' defined in class path resource [com/alibaba/nacos/plugin/auth/impl/configuration/core/NacosAuthPluginCoreConfig.class]: Unsatisfied dependency expressed through method 'tokenManagerDelegate' parameter 0: Error creating bean with name 'tokenManager' defined in class path resource [com/alibaba/nacos/plugin/auth/impl/configuration/core/NacosAuthPluginCoreConfig.class]: Failed to instantiate [com.alibaba.nacos.plugin.auth.impl.token.TokenManager]: Factory method 'tokenManager' threw exception with message: the length of secret key must great than or equal 32 bytes; And the secret key must be encoded by base64.Please see https://nacos.io/docs/latest/manual/admin/auth/at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:804)at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:546)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1361)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1191)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:563)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:523)at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:339)at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:347)
Nacos-Server 3.x默認為false,但啟動時報錯。要求必須開啟認證,否則啟動失敗。
nacos.core.auth.enabled=false
解決辦法
修改配置文件,開啟認證。
nacos.core.auth.enabled=true
nacos.core.auth.server.identity.key=nacos
nacos.core.auth.server.identity.value=nacos
未設置或沒有正確配置符合要求的密鑰(secret key)
Factory method ‘tokenManager’ threw exception with message: the length of secret key must great than or equal 32 bytes; And the secret key must be encoded by base64.
要求設置密碼為base64編碼且為32字節。
報錯信息
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'defaultAuthenticationManager' defined in class path resource [com/alibaba/nacos/plugin/auth/impl/configuration/core/NacosAuthPluginCoreConfig.class]: Unsatisfied dependency expressed through method 'defaultAuthenticationManager' parameter 1: Error creating bean with name 'tokenManagerDelegate' defined in class path resource [com/alibaba/nacos/plugin/auth/impl/configuration/core/NacosAuthPluginCoreConfig.class]: Unsatisfied dependency expressed through method 'tokenManagerDelegate' parameter 0: Error creating bean with name 'tokenManager' defined in class path resource [com/alibaba/nacos/plugin/auth/impl/configuration/core/NacosAuthPluginCoreConfig.class]: Failed to instantiate [com.alibaba.nacos.plugin.auth.impl.token.TokenManager]: Factory method 'tokenManager' threw exception with message: the length of secret key must great than or equal 32 bytes; And the secret key must be encoded by base64.Please see https://nacos.io/docs/latest/manual/admin/auth/at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:804)at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:546)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1361)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1191)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:563)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:523)

解決辦法
配置密鑰,將密鑰從nacos改為紅框中的值,或者注釋下面那行,開啟上面一行即可。
nacos.core.auth.plugin.nacos.token.secret.key=VGhpc0lzTXlDdXN0b21TZWNyZXRLZXkwMTIzNDU2Nzg=