【微服务专题】nacos的启动和配置mysql

前言

  本篇是微服务专题的第一篇文章,主要是介绍nacos2.x版本的搭建和使用。什么是nacos?引用官方的原文:

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service的首字母简称,一个更易于构建云原生应用的动态服务发现配置管理和服务管理平台。
Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。
Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。

通过官网的介绍,在微服务体系中,Nacos的地位是举足轻重的,下面就从下载到启动让Nacos运行起来看看效果。

1. 下载nacos

Nacos的代码都托管在github上,直接到下载地址下载我们需要的服务器压缩包:nacos-server-2.2.1.zip

直接下载地址:https://github.com/alibaba/nacos/releases/download/2.2.1/nacos-server-2.2.1.zip

2. 启动前的配置

2.2.1版本起,如果跟往前一样解压后直接启动,则会报错:

Caused by: java.lang.IllegalArgumentException: the length of secret key must great than or equal 32 bytes; And the secret key  must be encoded by base64.Please see https://nacos.io/zh-cn/docs/v2/guide/user/auth.html
    at com.alibaba.nacos.plugin.auth.impl.token.impl.JwtTokenManager.processProperties(JwtTokenManager.java:73)
    at com.alibaba.nacos.plugin.auth.impl.token.impl.JwtTokenManager.<init>(JwtTokenManager.java:61)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:211)
    ... 112 common frames omitted
Caused by: java.lang.IllegalArgumentException: The specified key byte array is 0 bits which is not secure enough for any JWT HMAC-SHA algorithm.  The JWT JWA Specification (RFC 7518, Section 3.2) states that keys used with HMAC-SHA algorithms MUST have a size >= 256 bits (the key size must be greater than or equal to the hash output size).  See https://tools.ietf.org/html/rfc7518#section-3.2 for more information.
    at com.alibaba.nacos.plugin.auth.impl.jwt.NacosJwtParser.<init>(NacosJwtParser.java:56)
    at com.alibaba.nacos.plugin.auth.impl.token.impl.JwtTokenManager.processProperties(JwtTokenManager.java:71)
    ... 118 common frames omitted

官方给出一份详细的文档介绍:关于Nacos默认token.secret.key及server.identity风险说明及解决方案公告
在该文章中,要求在2.2.1版本中需要我们在启动之前做一些配置,打开解压包中 conf/application.properties 文件,添加配置(文件中默认配置是空,根据需要添加内容)

nacos.core.auth.server.identity.key=nacos
nacos.core.auth.server.identity.value=nacos
# 设置密钥,自定义密钥时,推荐将配置项设置为Base64编码的字符串,且原始密钥长度不得低于32字符
nacos.core.auth.plugin.nacos.token.secret.key=bmFjb3MxMjM0NTZuYWNvczEyMzQ1Nm5hY29zMTIzNDU2

我密钥就是将 nacos123456nacos123456nacos123456经过base64后得出的
在这里插入图片描述

在线base64的工具:https://base64.us/

3. 单机启动

3.1 Linux/Unix/Mac启动

启动命令(standalone代表着单机模式运行,非集群模式):

sh startup.sh -m standalone

如果您使用的是ubuntu系统,或者运行脚本报错提示[[符号找不到,可尝试如下运行:

bash startup.sh -m standalone

3.2 windos启动

启动命令(standalone代表着单机模式运行,非集群模式):

startup.cmd -m standalone

3.3 修改脚本方式启动(推荐)

如果不想按照3.1和3.2在命令行后面加-m standalone参数启动,需要在启动脚本中修改发一个配置,

3.3.1 windows方式修改

打开 bin/目录下的文件startup.cmd 文件(用记事本打开)

#原本是cluster,改位standalone
set MODE="standalone"

3.3.2 linxu方式修改

打开 bin/目录下的文件startup.sh 文件(用记事本打开)

#原本是cluster,改位standalone
export MODE="standalone"

4. 登陆控制台

启动时会现在控制台的登陆地址
在这里插入图片描述
默认账号:nacos 密码:nacos
在这里插入图片描述
登陆成功后

在这里插入图片描述

5. 配置mysql数据库

5.1 下载mysql脚本

下载nacos的源码包,解压后在 distribution\conf目录下找到mysql脚本文件 mysql-schema.sql

源码包地址:https://github.com/alibaba/nacos/archive/refs/tags/2.2.1.zip

或者浏览器直接打开下面的地址将sql复制出来运行,这里就需要注意找到对应版本的路径

https://github.com/alibaba/nacos/blob/2.2.1-RC-develop/distribution/conf/mysql-schema.sql

5.2 执行mysql脚本

创建一个新的数据库,然后执行脚本文件的sql。
数据库版本:5.6.5+

5.3 修改nacos配置

打开nacos conf/application.properties 文件,添加配置

spring.datasource.platform=mysql

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

配置后重启nacos

总结

  本文详细介绍了如何搭建和使用nacos 2.2.1版本。首先,我们从下载nacos开始,然后到启动前的必要配置。在启动部分,介绍多个平台的启动方式,并特别推荐了修改脚本的方法进行启动。接下来,我们探讨了如何登录到nacos的控制台。为了使nacos更稳定地运行,本文还介绍了如何为nacos配置mysql数据库,包括如何下载和执行mysql脚本,以及如何修改nacos的配置来适配数据库。这篇文章为那些希望快速上手和深入了解nacos 2.2.1版本的读者提供了一份全面且详细的指南。

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值