问题发现:

在今天学习Nacos时,我下载安装解压好了Nacos包,我下载的是目前(2023.3.27)的最新版本的 Nacos 2.2.1,但是在启动时,不管是用官方的命令"startup.cmd -m standalone",还是直接双击"startup.cmd"都是会闪退,自然启动也是失败的。

解决窗口闪退问题:

然后我查找了资料,发现需要在"startup.cmd"的最后加上:

pause
endlocal

这样窗口就不会闪退了。

查看异常信息:

窗口闪退问题解决后,就可以看见完整的异常信息了,我的报错信息很长,大概有六七段error,只能从头开始看,第一段错误是(很长,我只把重点的以代码形式打出来):

 ERROR Error starting Tomcat context. Exception: org.springframework.beans.factory.UnsatisfiedDependencyException.org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat

解决步骤:

1.配置standalone:

当然我自己也是看不明白,但是字面意思是Tomcat启动出问题了,只能去搜索"Unable to start embedded Tomcat",于是出现了以下结果:

大致意思就是说:Nacos默认启动方式为集群启动,但是我们个人只有一台主机,所以应该选择单机启动模式,所以需要重新配置。具体可参考文章:http://t.csdn.cn/uDVW7,这位博主还说了第二种错误:"Failed to create database ‘/data/soft/nacos/data/derby-data’",但是我没有遇到,所以这里就不细说了,需要的可以去看看上面的链接中的文章。

修改前:

修改后:

到这启动模式已经修改好了,但是启动报错一项没减少,很烦。

2.配置数据库(个人觉得可以不修改,但是还是写出来给大家参考参考):

接着我看到了第二个答案:

意思是配置文件/conf中有数据库文件,所以出错的原因可能是因为Nacos启动时需要对应的数据库环境,可以参考文章:http://t.csdn.cn/NfXbj和http://t.csdn.cn/b0rYp,第二篇文章写的更详细点,可以参考,但是我的包和他给的包不太一样:

他给的:

我的:

下面给出我的步骤:

打开Navicat;新建一个数据库(名字我不知道可不可以随便起,因为有的回答是随便新建一个数据库,但是上面这位博主起了"Nacos",那我也就用了"Nacos",毕竟看起来比较专业);然后运行mysql-schema.sql,虽然运行的文件名和上面这位博主的不同,但是我看了建出来的表是一样的;修改conf/application配置文件:

圈起来这部分修改为自己数据库的用户名和密码。

结束,但是报错依然没有减少。

3.检查端口有没有被占用:

很苦恼,因为我找的很多资料里都只有上面两种回答,我就想那我这问题可能是一个小众问题了,那会不会是我的电脑8848(Nacos默认端口)端口被占用了,于是我就检查了我的端口使用情况:

打开cmd->输入netstat -ano命令->查找端口号,本地地址ip后方冒号之后的就是端口号(下面圈出来的部分):

如果想查找特定端口号,可以使用netstat -ano | findstr "端口号"的命令,很遗憾,经过我仔细查看后,发现端口也并没有被占用。

4.正解:修改配置文件中Key值:

因为我是看黑马2021年的springcloud视频学习的,他们用的Nacos版本还为1.x,我觉得可能是新版本的一些问题,所以我就打算放弃用最新版本,改用配套资料里的1.x版本了,但是在我准备关闭cmd黑窗口时,我看见了最后的一个错误提示:

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)... 115 common frames omitted

我抱着试一试的态度搜索了这个错误,然后看到了下面的回答:

意思就是:新版(2.x后)Nacos配置文件中的用于生成JWT令牌的密钥默认为空值,需要自己去conf/application文件中设置,可以设置为官方给的默认值:SecretKey012345678901234567890123456789012345678901234567890123456789,也可以自己去设置,自定义密钥时,推荐将配置项设置为Base64编码的字符串,且原始密钥长度不得低于32字符,可以参考文章:http://t.csdn.cn/cdtH8。我去看了官方文档,官方文档是这么说的:

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

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

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

官方是强烈建议自定义密钥的,但是实际用上面的默认值也可以,我用默认值给大家看下修改的地方,其实就是conf目录下的application.properties文件:

修改完后,双击"startup.cmd",终于可以正常启动了:

按住Ctrl点击上面画圈的网址,也可以正常跳转到Nacos配置管理页面:

我是登录过的,第一次跳转成功是跳转到登陆页面,默认用户名和密码均为:"nacos",登录即可到达上面这个页面。

总结:

其实这次的这个问题仔细看看官方文档是可以很快解决的,但是呢,我一直没有看官方文档的习惯,所以这次花了很多时间,算是给我长了记性了。

我觉得其实数据库那个配置是可以不用更改的,总结一下吧,对于配置了单机启动()也配置了数据库,但是Nacos依然启动失败问题,检查下你是否配置了conf目录下的application.properties文件,设置其中的nacos.core.auth.plugin.nacos.token.secret.key值。如果这篇文章还是不能解决你的问题,记得去读读官方文档:Nacos 快速开始。

配置了单机启动(standalone),也配置了数据库,但是Nacos依然启动失败相关推荐

  1. Redis单机系列文章--1.Redis单机的安装和配置(含视频)

    转载请注明出处哈:http://carlosfu.iteye.com/blog/2240426   一.Redis单机下载.编译.安装: cd /opt/soft wget http://downlo ...

  2. 02Hadoop安装教程_单机、伪分布式配置

    02 Hadoop2.7 安装教程_单机.伪分布式配置 文章目录 **02** Hadoop2.7 安装教程_单机.伪分布式配置 **1.hadoop基础知识** 1.1 hadoop是什么? 1.2 ...

  3. 单机hbase-2.4.15配置snappy压缩

    单机hbase配置snappy压缩 前言 1. 过程比较坎坷,网上帖子说法不一,以下过程是参考几个帖子亲自走过一遍,并最终可以成功建表.2. 本人安装的所有目录均为/data/test-hbase,涉 ...

  4. 知乎爬虫(scrapy默认配置下单机1小时可爬取60多万条数据)

    知乎爬虫(scrapy默认配置下单机1小时可爬取60多万条数据) 版本:1.0 作者: AlexTan CSDN: http://blog.csdn.net/alextan_ e-mail: alex ...

  5. Linux下配置jupyter notebook远程访问实战:配置Jupyter的连接密码、启动jupyter服务、远程访问jupyter(关闭防火墙)

    Linux下配置jupyter notebook远程访问实战:配置Jupyter的连接密码.启动jupyter服务.远程访问jupyter(关闭防火墙) 目录 Linux下配置jupyter note ...

  6. oracle database firewall 配置 保护 db,Oracle DB control配置启动

    今天打算启用一下Oracle Database 11g的Database Control,发现初始并未安装: [Oracle@test126 ~]$ emctl start EM Configurat ...

  7. Linux+nfs配置开机启动,linux NFS配置:NFS开机自动启用及其原理

    这节我们讲NFS开机自动启动及其原理 NFS服务器端已经配置好了,但机器重启以后我们还要重新开启NFS服务.为了不这么麻烦,我们要让NFS和portmap服务在开机时自动启动,这样就会避免出现moun ...

  8. chrome应用程序无法启动因为并行配置不正确的处理办法(亲测版本不一样也是类似的操作)

    有使用chrome谷歌浏览器的朋友可能会遇到这样的错误,那就是chrome.exe 应用程序无法启动因为应用程序的并行配置不正确,谷歌浏览器也打不开的情况,那么这一问题要如何解决呢?可能很多朋友不太了 ...

  9. linux内核启动配置,启动linux内核配置

    启动linux内核配置 发布时间:2005-09-22 20:04:48来源:红联作者:ccs LILO 入门 现在是最后来重新配置 LILO 的时候了,它将负责载入新的内核.LILO 是最流行的 L ...

最新文章

  1. 日子过得真快,转眼就工作了4个月了
  2. 找字符串中第一个只出现一次的字符
  3. 决策树可视化,被惊艳到了!
  4. base64下载excel (使用blob)
  5. nio的应用 java_Java NIO 在网络编程中的应用
  6. python爬虫:其他操作
  7. 面试题:聊一聊设计模式的基本原则
  8. 奥鹏计算机基础2021,18春北语《计算机基础》作业3(参考答案)
  9. python调用bing翻译和有道翻译
  10. php使用p12证书调用第三方接口
  11. 免费IP切换工具有用吗?
  12. 蓝桥真题,跑步问题c语言解决方案
  13. UltraLAB台式图形工作站(图形+超算+私有云通吃~图灵超算工作站介绍)
  14. java排座位程序_java随机排座位
  15. win10动态壁纸怎么设置_教程丨WIN10系统下设置固定IP或动态IP
  16. ubuntu 打印git邮箱_win 10配置Ubuntu子系统—可以考虑放弃VMware了
  17. AT24C02数据存储
  18. 为企业出海“搭桥”,汇量科技靠什么出圈?
  19. RabbitMQ镜像队列与负载均衡
  20. java车牌识别系统mysql

热门文章

  1. python 中 open与with open 的区别
  2. 免费office哪个版本好用
  3. mac安装虚拟机VirtualBox+win7
  4. 翻译 项目管理艺术 2.2
  5. 最基础的-----基于maven进行的SSM框架的整合的全部配置文件.
  6. 肌酐清除率-肌酐清除率计算公式-什么是肌酐清除率 (转载www.jiganqingchulv.com)
  7. Mac安装rvm管理Ruby版本
  8. 基于imx8mq的NAU8822音频驱动开发
  9. Mini PCIe接口双频WiFi+BT5.0二合一RTL8822CE无线网卡
  10. 到公司做华为认证网络工程师有发展前途吗?