博客详情

nacos-2.5.2搭建 (原创)

作者: 朝如青丝暮成雪
发布时间:2025-12-30 09:27:48  文章分类:java编程   阅读(174)  评论(0)

从官网下载nacos-2.5.2.zip包,解压


1、配置nacos端口

找到nacos-2.5.2\conf\application.properties文件

server.port=8849  #可修改nacos端口,默认8848


2、配置nacos连接mysql

开启mysql连接, 配置mysql连接参数

spring.sql.init.platform=mysql

db.num=1
db.url.0=jdbc:mysql://192.168.31.10:3306/tmccloud_register?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=Asia/Shanghai
db.user.0=root
db.password.0=123456


nacos的mysql库初始化脚本


/*
 * Copyright 1999-2018 Alibaba Group Holding Ltd.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/******************************************/
/*   表名称 = config_info                  */
/******************************************/
CREATE TABLE `config_info` (
    `id`                 BIGINT(20)    NOT NULL AUTO_INCREMENT COMMENT 'id',
    `data_id`            VARCHAR(255)  NOT NULL COMMENT 'data_id',
    `group_id`           VARCHAR(128)           DEFAULT NULL COMMENT 'group_id',
    `content`            LONGTEXT      NOT NULL COMMENT 'content',
    `md5`                VARCHAR(32)            DEFAULT NULL COMMENT 'md5',
    `gmt_create`         DATETIME      NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `gmt_modified`       DATETIME      NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    `src_user`           TEXT COMMENT 'source user',
    `src_ip`             VARCHAR(50)            DEFAULT NULL COMMENT 'source ip',
    `app_name`           VARCHAR(128)           DEFAULT NULL COMMENT 'app_name',
    `tenant_id`          VARCHAR(128)           DEFAULT '' COMMENT '租户字段',
    `c_desc`             VARCHAR(256)           DEFAULT NULL COMMENT 'configuration description',
    `c_use`              VARCHAR(64)            DEFAULT NULL COMMENT 'configuration usage',
    `effect`             VARCHAR(64)            DEFAULT NULL COMMENT '配置生效的描述',
    `type`               VARCHAR(64)            DEFAULT NULL COMMENT '配置的类型',
    `c_schema`           TEXT COMMENT '配置的模式',
    `encrypted_data_key` VARCHAR(1024) NOT NULL DEFAULT '' COMMENT '密钥',
    PRIMARY KEY (`id`),
    UNIQUE KEY `uk_configinfo_datagrouptenant` (`data_id`, `group_id`, `tenant_id`)
) ENGINE = InnoDB
  DEFAULT CHARSET = `utf8`
  COLLATE = `utf8_bin` COMMENT ='config_info';

/******************************************/
/*   表名称 = config_info  since 2.5.0                */
/******************************************/
CREATE TABLE `config_info_gray` (
    `id`                 BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'id',
    `data_id`            VARCHAR(255)    NOT NULL COMMENT 'data_id',
    `group_id`           VARCHAR(128)    NOT NULL COMMENT 'group_id',
    `content`            LONGTEXT        NOT NULL COMMENT 'content',
    `md5`                VARCHAR(32)              DEFAULT NULL COMMENT 'md5',
    `src_user`           TEXT COMMENT 'src_user',
    `src_ip`             VARCHAR(100)             DEFAULT NULL COMMENT 'src_ip',
    `gmt_create`         DATETIME(3)     NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT 'gmt_create',
    `gmt_modified`       DATETIME(3)     NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT 'gmt_modified',
    `app_name`           VARCHAR(128)             DEFAULT NULL COMMENT 'app_name',
    `tenant_id`          VARCHAR(128)             DEFAULT '' COMMENT 'tenant_id',
    `gray_name`          VARCHAR(128)    NOT NULL COMMENT 'gray_name',
    `gray_rule`          TEXT            NOT NULL COMMENT 'gray_rule',
    `encrypted_data_key` VARCHAR(256)    NOT NULL DEFAULT '' COMMENT 'encrypted_data_key',
    PRIMARY KEY (`id`),
    UNIQUE KEY `uk_configinfogray_datagrouptenantgray` (`data_id`, `group_id`, `tenant_id`, `gray_name`),
    KEY `idx_dataid_gmt_modified` (`data_id`, `gmt_modified`),
    KEY `idx_gmt_modified` (`gmt_modified`)
) ENGINE = InnoDB
  AUTO_INCREMENT = 1
  DEFAULT CHARSET = `utf8` COMMENT ='config_info_gray';

/******************************************/
/*   表名称 = config_info_beta             */
/******************************************/
CREATE TABLE `config_info_beta` (
    `id`                 BIGINT(20)    NOT NULL AUTO_INCREMENT COMMENT 'id',
    `data_id`            VARCHAR(255)  NOT NULL COMMENT 'data_id',
    `group_id`           VARCHAR(128)  NOT NULL COMMENT 'group_id',
    `app_name`           VARCHAR(128)           DEFAULT NULL COMMENT 'app_name',
    `content`            LONGTEXT      NOT NULL COMMENT 'content',
    `beta_ips`           VARCHAR(1024)          DEFAULT NULL COMMENT 'betaIps',
    `md5`                VARCHAR(32)            DEFAULT NULL COMMENT 'md5',
    `gmt_create`         DATETIME      NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `gmt_modified`       DATETIME      NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    `src_user`           TEXT COMMENT 'source user',
    `src_ip`             VARCHAR(50)            DEFAULT NULL COMMENT 'source ip',
    `tenant_id`          VARCHAR(128)           DEFAULT '' COMMENT '租户字段',
    `encrypted_data_key` VARCHAR(1024) NOT NULL DEFAULT '' COMMENT '密钥',
    PRIMARY KEY (`id`),
    UNIQUE KEY `uk_configinfobeta_datagrouptenant` (`data_id`, `group_id`, `tenant_id`)
) ENGINE = InnoDB
  DEFAULT CHARSET = `utf8`
  COLLATE = `utf8_bin` COMMENT ='config_info_beta';

/******************************************/
/*   表名称 = config_info_tag              */
/******************************************/
CREATE TABLE `config_info_tag` (
    `id`           BIGINT(20)   NOT NULL AUTO_INCREMENT COMMENT 'id',
    `data_id`      VARCHAR(255) NOT NULL COMMENT 'data_id',
    `group_id`     VARCHAR(128) NOT NULL COMMENT 'group_id',
    `tenant_id`    VARCHAR(128)          DEFAULT '' COMMENT 'tenant_id',
    `tag_id`       VARCHAR(128) NOT NULL COMMENT 'tag_id',
    `app_name`     VARCHAR(128)          DEFAULT NULL COMMENT 'app_name',
    `content`      LONGTEXT     NOT NULL COMMENT 'content',
    `md5`          VARCHAR(32)           DEFAULT NULL COMMENT 'md5',
    `gmt_create`   DATETIME     NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `gmt_modified` DATETIME     NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    `src_user`     TEXT COMMENT 'source user',
    `src_ip`       VARCHAR(50)           DEFAULT NULL COMMENT 'source ip',
    PRIMARY KEY (`id`),
    UNIQUE KEY `uk_configinfotag_datagrouptenanttag` (`data_id`, `group_id`, `tenant_id`, `tag_id`)
) ENGINE = InnoDB
  DEFAULT CHARSET = `utf8`
  COLLATE = `utf8_bin` COMMENT ='config_info_tag';

/******************************************/
/*   表名称 = config_tags_relation         */
/******************************************/
CREATE TABLE `config_tags_relation` (
    `id`        BIGINT(20)   NOT NULL COMMENT 'id',
    `tag_name`  VARCHAR(128) NOT NULL COMMENT 'tag_name',
    `tag_type`  VARCHAR(64)  DEFAULT NULL COMMENT 'tag_type',
    `data_id`   VARCHAR(255) NOT NULL COMMENT 'data_id',
    `group_id`  VARCHAR(128) NOT NULL COMMENT 'group_id',
    `tenant_id` VARCHAR(128) DEFAULT '' COMMENT 'tenant_id',
    `nid`       BIGINT(20)   NOT NULL AUTO_INCREMENT COMMENT 'nid, 自增长标识',
    PRIMARY KEY (`nid`),
    UNIQUE KEY `uk_configtagrelation_configidtag` (`id`, `tag_name`, `tag_type`),
    KEY `idx_tenant_id` (`tenant_id`)
) ENGINE = InnoDB
  DEFAULT CHARSET = `utf8`
  COLLATE = `utf8_bin` COMMENT ='config_tag_relation';

/******************************************/
/*   表名称 = group_capacity               */
/******************************************/
CREATE TABLE `group_capacity` (
    `id`                BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `group_id`          VARCHAR(128)        NOT NULL DEFAULT '' COMMENT 'Group ID,空字符表示整个集群',
    `quota`             INT(10) UNSIGNED    NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值',
    `usage`             INT(10) UNSIGNED    NOT NULL DEFAULT '0' COMMENT '使用量',
    `max_size`          INT(10) UNSIGNED    NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值',
    `max_aggr_count`    INT(10) UNSIGNED    NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数,,0表示使用默认值',
    `max_aggr_size`     INT(10) UNSIGNED    NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',
    `max_history_count` INT(10) UNSIGNED    NOT NULL DEFAULT '0' COMMENT '最大变更历史数量',
    `gmt_create`        DATETIME            NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `gmt_modified`      DATETIME            NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    PRIMARY KEY (`id`),
    UNIQUE KEY `uk_group_id` (`group_id`)
) ENGINE = InnoDB
  DEFAULT CHARSET = `utf8`
  COLLATE = `utf8_bin` COMMENT ='集群、各Group容量信息表';

/******************************************/
/*   表名称 = his_config_info              */
/******************************************/
CREATE TABLE `his_config_info` (
    `id`                 BIGINT(20) UNSIGNED NOT NULL COMMENT 'id',
    `nid`                BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'nid, 自增标识',
    `data_id`            VARCHAR(255)        NOT NULL COMMENT 'data_id',
    `group_id`           VARCHAR(128)        NOT NULL COMMENT 'group_id',
    `app_name`           VARCHAR(128)                 DEFAULT NULL COMMENT 'app_name',
    `content`            LONGTEXT            NOT NULL COMMENT 'content',
    `md5`                VARCHAR(32)                  DEFAULT NULL COMMENT 'md5',
    `gmt_create`         DATETIME            NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `gmt_modified`       DATETIME            NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    `src_user`           TEXT COMMENT 'source user',
    `src_ip`             VARCHAR(50)                  DEFAULT NULL COMMENT 'source ip',
    `op_type`            CHAR(10)                     DEFAULT NULL COMMENT 'operation type',
    `tenant_id`          VARCHAR(128)                 DEFAULT '' COMMENT '租户字段',
    `encrypted_data_key` VARCHAR(1024)       NOT NULL DEFAULT '' COMMENT '密钥',
    `publish_type`       VARCHAR(50)                  DEFAULT 'formal' COMMENT 'publish type gray or formal',
    `gray_name`          VARCHAR(50)                  DEFAULT NULL COMMENT 'gray name',
    `ext_info`           LONGTEXT                     DEFAULT NULL COMMENT 'ext info',
    PRIMARY KEY (`nid`),
    KEY `idx_gmt_create` (`gmt_create`),
    KEY `idx_gmt_modified` (`gmt_modified`),
    KEY `idx_did` (`data_id`)
) ENGINE = InnoDB
  DEFAULT CHARSET = `utf8`
  COLLATE = `utf8_bin` COMMENT ='多租户改造';


/******************************************/
/*   表名称 = tenant_capacity              */
/******************************************/
CREATE TABLE `tenant_capacity` (
    `id`                BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `tenant_id`         VARCHAR(128)        NOT NULL DEFAULT '' COMMENT 'Tenant ID',
    `quota`             INT(10) UNSIGNED    NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值',
    `usage`             INT(10) UNSIGNED    NOT NULL DEFAULT '0' COMMENT '使用量',
    `max_size`          INT(10) UNSIGNED    NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值',
    `max_aggr_count`    INT(10) UNSIGNED    NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数',
    `max_aggr_size`     INT(10) UNSIGNED    NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',
    `max_history_count` INT(10) UNSIGNED    NOT NULL DEFAULT '0' COMMENT '最大变更历史数量',
    `gmt_create`        DATETIME            NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `gmt_modified`      DATETIME            NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    PRIMARY KEY (`id`),
    UNIQUE KEY `uk_tenant_id` (`tenant_id`)
) ENGINE = InnoDB
  DEFAULT CHARSET = `utf8`
  COLLATE = `utf8_bin` COMMENT ='租户容量信息表';


CREATE TABLE `tenant_info` (
    `id`            BIGINT(20)   NOT NULL AUTO_INCREMENT COMMENT 'id',
    `kp`            VARCHAR(128) NOT NULL COMMENT 'kp',
    `tenant_id`     VARCHAR(128) DEFAULT '' COMMENT 'tenant_id',
    `tenant_name`   VARCHAR(128) DEFAULT '' COMMENT 'tenant_name',
    `tenant_desc`   VARCHAR(256) DEFAULT NULL COMMENT 'tenant_desc',
    `create_source` VARCHAR(32)  DEFAULT NULL COMMENT 'create_source',
    `gmt_create`    BIGINT(20)   NOT NULL COMMENT '创建时间',
    `gmt_modified`  BIGINT(20)   NOT NULL COMMENT '修改时间',
    PRIMARY KEY (`id`),
    UNIQUE KEY `uk_tenant_info_kptenantid` (`kp`, `tenant_id`),
    KEY `idx_tenant_id` (`tenant_id`)
) ENGINE = InnoDB
  DEFAULT CHARSET = `utf8`
  COLLATE = `utf8_bin` COMMENT ='tenant_info';

CREATE TABLE `users` (
    `username` VARCHAR(50)  NOT NULL PRIMARY KEY COMMENT 'username',
    `password` VARCHAR(500) NOT NULL COMMENT 'password',
    `enabled`  BOOLEAN      NOT NULL COMMENT 'enabled'
);

CREATE TABLE `roles` (
    `username` VARCHAR(50) NOT NULL COMMENT 'username',
    `role`     VARCHAR(50) NOT NULL COMMENT 'role',
    UNIQUE INDEX `idx_user_role` (`username` ASC, `role` ASC) USING BTREE
);

CREATE TABLE `permissions` (
    `role`     VARCHAR(50)  NOT NULL COMMENT 'role',
    `resource` VARCHAR(128) NOT NULL COMMENT 'resource',
    `action`   VARCHAR(8)   NOT NULL COMMENT 'action',
    UNIQUE INDEX `uk_role_permission` (`role`, `resource`, `action`) USING BTREE
);



3、配置nacos.core.auth.server.identity.key、value及nacos.core.auth.plugin.nacos.token.secret.key


下面两个参数是配置外部服务访问nacos时的白名单用户,随便配置一个即可。

### The two properties is the white list for auth and used by identity the request from other server. 
nacos.core.auth.server.identity.key=myuser
nacos.core.auth.server.identity.value=123456



下面这个参数需要配置一个不少于32位的随机字符串的base64编码。 

nacos.core.auth.plugin.nacos.token.secret.key=ZFN4dEFXdFptQTJjandjYlpTcWtobmJieGJQTjVHUW0=



4、配置nacos的启动bin  

找到nacos-2.5.2\bin 下startup.cmd ,将启动方式改为standalone ,并修改占用内存(默认512M内存)可将内存适当调小一点。


set MODE="standalone"

rem if nacos startup mode is standalone
if %MODE% == "standalone" (
    echo "nacos is starting with standalone"
	  set "NACOS_OPTS=-Dnacos.standalone=true"
    if "%CUSTOM_NACOS_MEMORY%"=="" ( set "CUSTOM_NACOS_MEMORY=-Xms300m -Xmx300m -Xmn128m" )
    set "NACOS_JVM_OPTS=%CUSTOM_NACOS_MEMORY%"
)


5、找到startup.cmd启动服务

浏览器访问 http://ip:端口,发现第一次访问需要提交nacos用户密码,可以手动输入密码,或者保留为空提交则nacos生成一个随机密码。



登录成功,展示首页









关键字:  nacos
评论信息
暂无评论
发表评论

亲,您还没有登陆,暂不能评论哦! 去 登陆 | 注册

博主信息
   
数据加载中,请稍候...
文章分类
   
数据加载中,请稍候...
阅读排行
 
数据加载中,请稍候...
评论排行
 
数据加载中,请稍候...

Copyright © 叮叮声的奶酪 版权所有
备案号:鄂ICP备17018671号-1

鄂公网安备 42011102000739号