Nacos 单机版配置
一、安装
1. 安装与启动
- 从 Nacos GitHub Releases 下载最新版
- 解压到无中文无空格路径
- 单机模式启动:
cd D:\nacos\bin
startup.cmd -m standalone2. 访问控制台
启动成功后,浏览器访问:http://localhost:8848/nacos
默认账号密码:nacos / nacos
3. Spring Boot 集成 Nacos
添加依赖:
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>配置 application.yml:
spring:
application:
name: my-service
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
config:
server-addr: 127.0.0.1:8848
file-extension: yml主启动类添加 @EnableDiscoveryClient:
@SpringBootApplication
@EnableDiscoveryClient
public class MyServiceApplication {
public static void main(String[] args) {
SpringApplication.run(MyServiceApplication.class, args);
}
}二、Nacos 鉴权配置
Nacos 2.2.1+ 默认开启鉴权,需要配置以下参数:
1. 生成 Base64 密钥
原始字符串:MySecretKeyForNacosServer1186508944
Base64 编码:TXlTZWNyZXRLZXlGb3JOYWNvc1NlcnZlcjExODY1MDg5NDQ=
2. 服务端配置
编辑 nacos/conf/application.properties:
### 开启鉴权
nacos.core.auth.enabled=true
nacos.core.auth.system.type=nacos
### JWT Token 密钥
nacos.core.auth.plugin.nacos.token.secret.key=TXlTZWNyZXRLZXlGb3JOYWNvc1NlcnZlcjExODY1MDg5NDQ=
### Server Identity(解决 value is empty 报错)
nacos.core.auth.server.identity.key=serverIdentity
nacos.core.auth.server.identity.value=security
### Token 过期时间
nacos.core.auth.plugin.nacos.token.expire.seconds=180003. 客户端配置
spring:
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
username: nacos
password: nacos
config:
server-addr: 127.0.0.1:8848
username: nacos
password: nacos三、常见问题汇总
| 问题 | 原因 | 解决方案 |
|---|---|---|
Nacos 启动报错 Process_required_config |
路径含中文/空格或脚本问题 | 使用纯英文路径,执行 startup.cmd -m standalone |
token.secret.key value is empty |
未配置鉴权密钥 | 生成 Base64 密钥并配置 |
server.identity.value is empty |
未配置 Server Identity | 添加 nacos.core.auth.server.identity.value |
ConfigMigrateService 初始化失败 |
Nacos 3.x 数据库未配置 | 配置 MySQL 或降级到 Nacos 2.x |
| 端口冲突 | 8080 或 8848 被占用 | 修改 server.port 或 Nacos 端口 |
四、总结
在 Windows 11 + VSCode 环境下搭建 Spring Boot + Nacos 开发环境,核心要点:
- Nacos 单机版:
startup.cmd -m standalone启动 - 鉴权配置:Nacos 2.2.1+ 需要配置
token.secret.key和server.identity - 问题排查:对比 VSCode 和 IDEA 的 Maven 配置差异
相比 IntelliJ IDEA,VSCode 更轻量,启动更快,适合中小型 Spring Boot 项目的开发。
Nacos 集群搭建步骤
一、安装
1.下载 Nacos
从 Nacos GitHub Releases下载最新版。
2.配置集群节点
在每个 Nacos 节点的 conf/cluster.conf 中添加所有节点地址:citeweb_search#0
bash
cluster.conf
192.168.1.101:8848
192.168.1.102:8848
192.168.1.103:88483.配置 MySQL 持久化
编辑 conf/application.properties :
spring.sql.init.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=你的密码4.启动集群模式
Linux/Mac
sh startup.shWindows
startup.cmd注意:集群模式不需要加 -m standalone 参数。citeweb_search#0
二、Spring Boot 配置 Nacos 集群
1.添加 Maven 依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>2.配置 application.yml
spring:
application:
name: your-service-name
cloud:
nacos:
discovery:
#Nacos 集群地址,多个节点用逗号分隔
server-addr: 192.168.1.101:8848,192.168.1.102:8848,192.168.1.103:8848
namespace: dev # 命名空间(可选)
group: DEFAULT_GROUP # 分组(可选)
config:
server-addr: 192.168.1.101:8848,192.168.1.102:8848,192.168.1.103:8848
namespace: dev
group: DEFAULT_GROUP
file-extension: yml3.使用环境变量 NACOS_CLUSTER (推荐方式)
在 application.yml 中引用环境变量:
spring:
cloud:
nacos:
discovery:
server-addr: ${NACOS_CLUSTER}
config:
server-addr: ${NACOS_CLUSTER}然后在系统环境变量中配置:
Windows
set NACOS_CLUSTER=192.168.1.101:8848,192.168.1.102:8848,192.168.1.103:8848Linux/Mac
export NACOS_CLUSTER=192.168.1.101:8848,192.168.1.102:8848,192.168.1.103:8848三、使用 Nginx 负载均衡(推荐)
如果不想在代码中写多个节点地址,可以用 Nginx 做统一入口:
http {
upstream nacosserver {
server 192.168.1.101:8848;
server 192.168.1.102:8848;
server 192.168.1.103:8848;
}
server {
listen 8088;
location /nacos/ {
proxy_pass http://nacosserver/nacos/;
}
}
}然后 Spring Boot 只需配置:
spring:
cloud:
nacos:
discovery:
server-addr: nginx-server:8088四、快速验证
启动 Nacos 集群后,访问任意节点的控制台: http://192.168.1.101:8848/nacos
2.
启动 Spring Boot 应用,查看日志是否成功注册
3. 在 Nacos 控制台 服务列表 中查看服务是否注册成功
总结: NACOS_CLUSTER 本质上是 Nacos 集群的节点地址列表,Spring Boot 通过 spring.cloud.nacos.discovery.server-addr 配置。推荐使用环境变量方式管理,便于不同环境切换。
