【分布式注册中心】NACOS_2.3.0部署与实战

部署

一 准备

1 依赖:MYSQL

2 创建数据库

复制代码
CREATE database if NOT EXISTS `nacos` default character set utf8mb4 collate utf8mb4_unicode_ci;

3 导入初始化SQL

https://raw.githubusercontent.com/alibaba/nacos/develop/distribution/conf/mysql-schema.sqlhttps://raw.githubusercontent.com/alibaba/nacos/develop/distribution/conf/mysql-schema.sql

4 执行创建NACOS管理员账号SQL(初始账号密码:nacos/nacos)

复制代码
INSERT INTO users (username, password, enabled) VALUES ('nacos', '$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu', TRUE);
INSERT INTO roles (username, role) VALUES ('nacos', 'ROLE_ADMIN');

5 执行创建MYSQL操作员SQL

复制代码
CREATE USER 'nacos'@'%' IDENTIFIED BY 'nacos';
GRANT ALL PRIVILEGES ON nacos.* TO 'nacos'@'%';
FLUSH PRIVILEGES;

二 DOCKER部署

复制代码
sudo docker run -d \
-p 8848:8848 \
-p 9848:9848 \
-e PREFER_HOST_MODE=hostname \
-e MODE=standalone \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=mysql \
-e MYSQL_SERVICE_DB_NAME=nacos \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_USER=nacos \
-e MYSQL_SERVICE_PASSWORD=nacos \
-e "MYSQL_SERVICE_DB_PARAM=characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true" \
-e NACOS_AUTH_ENABLE=true \
-e NACOS_AUTH_IDENTITY_KEY=nacos \
-e NACOS_AUTH_IDENTITY_VALUE=nacos \
-e NACOS_AUTH_TOKEN=SecretKey012345678901234567890123456789012345678901234567890123456789 \
-v /Users/wuzijing/Documents/middle/nacos/log:/home/nacos/logs \
--name nacos \
--privileged=true \
--restart=always \
nacos/nacos-server:v2.3.0

代码

一 JAVA配置

1 YAML

复制代码
server:
  port: 8904
spring:
  application:
    name: report
  cloud:
    nacos:
      config:
        server-addr: ip:8848
        group: DEFAULT_GROUP
        username: nacos
        password: nacos
  config:
    import[0]: optional:nacos:/${spring.application.name}.yaml

2 POM

复制代码
<dependency>
  <groupId>com.alibaba.cloud</groupId>
  <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
  <version>2023.0.1.2</version>
  <exclusions>
    <exclusion>
      <groupId>com.alibaba.nacos</groupId>
      <artifactId>nacos-client</artifactId>
    </exclusion>
  </exclusions>
</dependency>
<dependency>
  <groupId>com.alibaba.nacos</groupId>
  <artifactId>nacos-spring-context</artifactId>
  <version>2.1.0-RC</version>
  <exclusions>
    <exclusion>
      <groupId>com.alibaba.nacos</groupId>
      <artifactId>nacos-client</artifactId>
    </exclusion>
  </exclusions>
</dependency>
<dependency>
  <groupId>com.alibaba.nacos</groupId>
  <artifactId>nacos-client</artifactId>
  <version>2.3.0</version>
</dependency>
<dependency>
  <groupId>io.netty</groupId>
  <artifactId>netty-resolver-dns-native-macos</artifactId>
  <classifier>osx-aarch_64</classifier>
</dependency>

3 启动类注解

复制代码
import com.alibaba.nacos.spring.context.annotation.EnableNacos;
import com.alibaba.nacos.api.annotation.NacosProperties;

@EnableNacos(
    globalProperties = @NacosProperties(
        serverAddr = "${spring.cloud.nacos.config.server-addr}",
        username = "${spring.cloud.nacos.config.username}",
        password = "${spring.cloud.nacos.config.password}"
    )
)
相关推荐
嘻哈∠※5 小时前
0061基于 SpringBoot 的投稿与稿件处理系统设计与实现
java·spring boot·后端
白狐_7986 小时前
408数据结构第8章:排序②——性质对比秒杀、场景选择与外部排序
java·数据结构·算法
zander2587 小时前
LeetCode 84:柱状图中的最大矩形——单调栈如何确定左右边界
java·数据结构·算法
码匠许师傅7 小时前
【C++ 面试真题】聊聊 C++ 的拷贝构造与拷贝赋值
java·c++·面试
极创信息9 小时前
系统安全隐患全方位排查方案:标准化渗透测试全流程
java·opencv·struts·数据挖掘·eclipse·语音识别·hibernate
汉字萌萌哒9 小时前
2019CCF-CSP入门级C++试题解析
java·开发语言·c++
喜欢的名字被抢了9 小时前
程序出问题怎么查,以及如何让它不掉线
java·运维·数据库
城管不管10 小时前
重生——第九次面试2026.8.13某车一面
分布式·ai·面试·职场和发展·rabbitmq
数据知道10 小时前
反序列化漏洞:Java、PHP、Python 三条线各讲透
java·网络·python·安全·网络安全·php
2601_9499506311 小时前
Java 面试准备,用练题簿把“背过八股”变成“真正会答”
java·开发语言·面试·刷题·小程序推荐