Nacos单机安装

采用的版本是Nacos Release 2.3.0 (Nov 30, 2023) · alibaba/nacos · GitHub

依赖于jdk,要先安装好jdk1.8+。

修改配置

下载解压后,修改配置文件:conf/application.properties。

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

官方文档Nacos 快速开始的部分描述,如下:

3.修改配置文件

在2.2.0.1和2.2.1版本时,必须执行此变更,否则无法启动;其他版本为建议设置。

修改conf目录下的application.properties文件。

设置其中的nacos.core.auth.plugin.nacos.token.secret.key值,详情可查看鉴权-自定义密钥.

注意,文档中的默认值SecretKey012345678901234567890123456789012345678901234567890123456789VGhpc0lzTXlDdXN0b21TZWNyZXRLZXkwMTIzNDU2Nzg=为公开默认值,可用于临时测试,实际使用时请务必更换为自定义的其他有效值。

这里选的2.3版本,所以nacos.core.auth.plugin.nacos.token.secret.key一定要自己设置。

官方文档Authorization的"服务端如何开启鉴权"->"非Docker环境"部分的描述,如下:

服务端如何开启鉴权

非Docker环境

按照官方文档配置启动,默认是不需要登录的,这样会导致配置中心对外直接暴露。而启用鉴权之后,需要在使用用户名和密码登录之后,才能正常使用nacos。

开启鉴权之前,application.properties中的配置信息为:

### If turn on auth system:
nacos.core.auth.enabled=false

开启鉴权之后,application.properties中的配置信息为:

### If turn on auth system:
nacos.core.auth.system.type=nacos
nacos.core.auth.enabled=true

自定义密钥

开启鉴权之后,你可以自定义用于生成JWT令牌的密钥,application.properties中的配置信息为:

注意:

  1. 文档中提供的密钥为公开密钥,在实际部署时请更换为其他密钥内容,防止密钥泄漏导致安全风险。
  2. 在2.2.0.1版本后,社区发布版本将移除以文档如下值作为默认值,需要自行填充,否则无法启动节点。
  3. 密钥需要保持节点间一致,长时间不一致可能导致403 invalid token错误。
### The default token(Base64 String):
nacos.core.auth.default.token.secret.key=SecretKey012345678901234567890123456789012345678901234567890123456789### 2.1.0 版本后
nacos.core.auth.plugin.nacos.token.secret.key=SecretKey012345678901234567890123456789012345678901234567890123456789

自定义密钥时,推荐将配置项设置为Base64编码的字符串,且原始密钥长度不得低于32字符。例如下面的的例子:

### The default token(Base64 String):
nacos.core.auth.default.token.secret.key=VGhpc0lzTXlDdXN0b21TZWNyZXRLZXkwMTIzNDU2Nzg=### 2.1.0 版本后
nacos.core.auth.plugin.nacos.token.secret.key=VGhpc0lzTXlDdXN0b21TZWNyZXRLZXkwMTIzNDU2Nzg=

注意:鉴权开关是修改之后立马生效的,不需要重启服务端。动态修改token.secret.key时,请确保token是有效的,如果修改成无效值,会导致后续无法登录,请求访问异常。

这里说明了这个nacos.core.auth.plugin.nacos.token.secret.key具体如何设置,就是推荐设置为1个字符串的Base64编码,要求原始字符串长度不低于32字符,注意是原始字符串长度,不是编码后的长度。

Base64编码可以用这个:Base64在线加密解密-在线Base64加密解密工具-Base64编码解码工具

举例,用Base64编码:

secretkey1234567891011121314151617 => c2VjcmV0a2V5MTIzNDU2Nzg5MTAxMTEyMTMxNDE1MTYxNw==

nacos.core.auth.server.identity.key、nacos.core.auth.server.identity.value

这两个用默认值即可,或者自己设置。这两个还是要设置的,不设置会报错。

默认值在这里,Authorization

在这里插入图片描述

汇总

一共修改了这几个参数:

nacos.core.auth.system.type=nacos
nacos.core.auth.enabled=true
nacos.core.auth.server.identity.key=serverIdentity
nacos.core.auth.server.identity.value=security
nacos.core.auth.plugin.nacos.token.secret.key=自己设置的字符串Base64编码(注意原字符串长度大于32)

启动

参考Nacos 快速开始的这部分:

Linux/Unix/Mac
启动命令(standalone代表着单机模式运行,非集群模式):
sh startup.sh -m standalone

可以修改启动命令startup.sh中的模式,改为standalone,之后启动就不用带-m standalone

在这里插入图片描述

启动:

在这里插入图片描述

成功的话,查看日志文件:

在这里插入图片描述

点击进入,是这个样子:

在这里插入图片描述

输入用户名密码,默认都是nacos,进入后如下:
在这里插入图片描述

可能的报错

关于libstdc++.so.6
/tmp/librocksdbjni7062971986421308051.so: libstdc++.so.6: cannot open shared object file: No such file or directory

参考libstdc++.so.6: cannot open shared object file: No such file or directory问题的解决-CSDN博客

权限认证失败 没有命名空间的访问权限

在这里插入图片描述

链接后面的参数有namespace,估计是要配命名空间,把后面的参数都删掉:http://xxx:8848/nacos/index.html#/login,这样就行了。

用户名密码

默认都是nacos。要修改的话,在界面修改,或者到nacos数据库中修改。

界面修改

在这里插入图片描述

数据库修改

需要配置数据库,数据库配置参考官方文档:Nacos支持三种部署模式,如下:

单机模式支持mysql

在0.7版本之前,在单机模式时nacos使用嵌入式数据库实现数据的存储,不方便观察数据存储的基本情况。0.7版本增加了支持mysql数据源能力,具体的操作步骤:

  • 1.安装数据库,版本要求:5.6.5+
  • 2.初始化mysql数据库,数据库初始化文件:mysql-schema.sql
  • 3.修改conf/application.properties文件,增加支持mysql数据源配置(目前只支持mysql),添加mysql数据源的url、用户名和密码。
spring.datasource.platform=mysqldb.num=1
db.url.0=jdbc:mysql://11.162.196.16:3306/nacos_devtest?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=nacos_devtest
db.password=youdontknow

再以单机模式启动nacos,nacos所有写嵌入式数据库的数据都写到了mysql

这里需要自己装好mysql,然后创建数据库nacos_devtest(其他名字也可以),运行conf/mysql-schema.sql的sql。运行完如下:
在这里插入图片描述

注意,nacos2.3版本的配置文件这里是这样:

### Deprecated configuration property, it is recommended to use `spring.sql.init.platform` replaced.
# spring.datasource.platform=mysql
spring.sql.init.platform=mysql

就是说在nacos2.3版本,“spring.datasource.platform=mysq"配置已经弃用了,要用下面的"spring.sql.init.platform=mysql”,否则会出错。

密码修改,参考Nacos修改密码 - Antony_hubei - 博客园。
有错误帮忙指正,谢谢。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/295080.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

5分钟学会用pytest进行自动化测试

Pytest作为广泛使用的Python测试框架之一,可以用于单元测试、功能测试、性能测试等场合。自动化测试是功能测试的一种形式,可以使用Pytest编写并管理自动化测试用例,再执行相应的自动化测试。 功能测试通常包括接口测试和Web测试两种类型&am…

低代码如何助力企业数字化转型?

目录 一、低代码开发是什么? 二、低代码与企业数字化转型 1)集成化 2)智能化 3)定制化 三、低代码开发平台对于企业数字化转型的优势 01、提供源码 02、私有化部署 03、敏捷开发 04、拓展能力 四、低代码带来的效益 以…

2023年12月GESP Python五级编程题真题解析

【五级编程题1】 【试题名称】:小杨的幸运数 【问题描述】 小杨认为,所有大于等于a的完全平方数都是他的超级幸运数。 小杨还认为,所有超级幸运数的倍数都是他的幸运数。自然地,小杨的所有超级幸运数也都是幸运数。 对于一个…

WebGL开发三维解剖学应用

开发基于 WebGL 的三维解剖学应用通常涉及以下步骤。这些步骤包括创建三维模型、整合交互性、优化性能等,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 1.三维模型创建: 首先&#xff0…

抖店定好品类赛道之后,怎么选品和快速出单?相关教程分享如下!

我是王路飞。 之前分享抖店流程相关内容时,我说过,类目选择大于一切,且要优于、重于选品。 至于定类目的标准,我之前也给你们说过,不要以自己个人喜好为标准去判断市场,也不要凭借自己以往认知和经验确定…

Weblogic Server工具WLST的使用

1.Weblogic脚本工具WLST介绍 可以用命令行来操作 Weblogic scripting tools 2.Weblogic WLST三种工作模式 2.1 wlst.sh tips:weblogic的T3 协议与HTTP/HTTPS 协议 操作如下:wlst在 common目录下 weblogic14c/wlserver/common/bin/ [weblogicfysedu32 weblogic]$…

【Amazon 实验①】使用 Amazon CloudFront加速Web内容分发

文章目录 实验架构图1. 准备实验环境2. 创建CloudFront分配、配置动、静态资源分发2.1 创建CloudFront分配,添加S3作为静态资源源站2.2 为CloudFront分配添加动态源站 在本实验——使用CloudFront进行全站加速中,将了解与学习Amazon CloudFront服务&…

【SpringBoot】Spring data JPA整合ShardingSphere-JDBC静态读写分离实现

大佬栽树,我乘凉 许大仙老师:【yuque.com/fairy-era/yg511q/ud9uli67b6gxgdh7】 开整 数据库准备 一主两从 数据库脚本 CREATE DATABASE IF NOT EXISTS dbtest CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; USE dbtest; -- 创建表 CREATE TA…

论文查重率高如何快速降重 papergpt

大家好,今天来聊聊论文查重率高如何快速降重,希望能给大家提供一点参考。 以下是针对论文重复率高的情况,提供一些修改建议和技巧,可以借助此类工具: 论文查重率高如何快速降重 当论文查重率过高时,需要快…

骑砍战团MOD开发(24)-module_particle_system粒子系统

一.粒子实现方式 创建2D平面模型作为粒子基本单元,系统预制平面在particle_meshes.brf文件中,通过particle_blend着色器实现粒子透明度和着色效果. #雨点粒子平面 prtcl_rain #雪粒子平面 prtcl_snow #烟尘粒子平面(马匹奔跑时产生) prtcl_dust_a prtcl_dust_b #火焰粒子平面 …

汽车级EEPROM 存储器 M24C64-DRMN3TP/K是电可擦除可编程只读存储器?它的功能特性有哪些?

M24C64-DRMN3TP/K是一款64 Kbit串行EEPROM汽车级设备,工作温度高达125C。符合汽车标准AEC-Q100 1级规定的极高可靠性。 该设备可通过一个高达1MHz的简单串行I2C兼容接口访问。 存储器阵列基于先进的真EEPROM技术(电可擦除可编程存储器)。M2…

DETR++: Taming Your Multi-Scale Detection Transformer论文解读

文章目录 前言一、摘要二、引言三、相关研究四、模型方法1、Removing the Encoder方法2、Multi-Head方法3、Shifted Windows方法4、Bi-directional Feature Pyramid方法5、DETR方法 五、实验结果总结 前言 今天查看了一篇DETR论文,本想网络上找博客大概浏览一下&am…