Nacos 单机版配置

一、安装

1. 安装与启动

  1. Nacos GitHub Releases 下载最新版
  2. 解压到无中文无空格路径
  3. 单机模式启动:
cd D:\nacos\bin
startup.cmd -m standalone

2. 访问控制台

启动成功后,浏览器访问: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=18000

3. 客户端配置

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 开发环境,核心要点:

  1. Nacos 单机版startup.cmd -m standalone 启动
  2. 鉴权配置:Nacos 2.2.1+ 需要配置 token.secret.keyserver.identity
  3. 问题排查:对比 VSCode 和 IDEA 的 Maven 配置差异

相比 IntelliJ IDEA,VSCode 更轻量,启动更快,适合中小型 Spring Boot 项目的开发。


Nacos 集群搭建步骤

一、安装

1.下载 Nacos

Nacos GitHub Releases下载最新版。

2.配置集群节点

在每个 Nacos 节点的 conf/cluster.conf 中添加所有节点地址:citeweb_search#0
bash

cluster.conf

192.168.1.101:8848
192.168.1.102:8848
192.168.1.103:8848

3.配置 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.sh

Windows

startup.cmd

注意:集群模式不需要加 -m standalone 参数。citeweb_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: yml

3.使用环境变量 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:8848

Linux/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 配置。推荐使用环境变量方式管理,便于不同环境切换。