bug1
服务器启动成功,但是无法访问网页。
解决:
linux防火墙开放8090端口,之后就可以访问了。
firewall-cmd --add-port=8090/tcp --permanent && firewall-cmd --reload && firewall-cmd --list-portsbug2
redis容器环境删掉,重新配置。 bug记录 密码记错了 是123456,不是01star。密码记错了。
自己配置的密码是:123456,结果配置文件里面写的密码还是:01star。这样连上redis数据库才奇怪呢。
spring: datasource: # url: jdbc:mysql://192.168.220.128:3306/test?useUnicode=true&useSSL=false&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true url: jdbc:mysql://192.168.154.129:3306/test?useUnicode=true&useSSL=false&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true username: root password: 123456 druid: max-active: 5 redis: # host: 192.168.220.128 #修改为自己主机的IP地址 host: 192.168.154.129 port: 6379 password: 01star # password: 123456 data: mongodb: # uri: mongodb://awei:123456@192.168.220.128:27017/firstDb #修改为自己主机的IP地址和端口号 uri: mongodb://awei:123456@192.168.154.129:27017/firstDbbug3
下面我跟着阿伟学长的代码手敲就报错,然后我复制粘贴阿伟学长的代码就没报错了。我不理解。一样的代码运行效果不一样。
解决:
一、核心问题拆解(注释报错 + 注册无提示)
问题 1:JSON 配置里的注释导致解析报错
JSON 格式不支持//单行注释(只有 JavaScript/JSOnC 等扩展格式支持),你在args数组里加的////nacos服务器的地址和端口这类注释,会让 VS 解析调试配置文件时直接失败,导致程序启动参数传递异常。
问题 2:没有arch-demo register success提示的核心原因
即使注释问题解决,你的代码里根本没有打印「注册成功」的日志,且参数解析 / 传递环节有坑,导致 Nacos 注册逻辑要么没执行,要么执行了但你看不到结果。
二、分步解决(先修注释,再修注册提示)
步骤 1:修复 JSON 调试配置(去掉注释,规范参数格式)
JSON 配置里删除所有//注释,且参数里不能有空格(比如na = 192.168.154.129:8848里的空格会导致解析失败),修改后完整配置:
json
{ "type": "cppgdb", "name": "arch-demo (arch-demo\\arch-demo)", "project": "CMakeLists.txt", "projectTarget": "arch-demo (arch-demo\\arch-demo)", "comment": "了解如何配置远程调试。有关详细信息,请参阅 http://aka.ms/vslinuxdebug", "debuggerConfiguration": "gdb", "MIMode": "gdb", "args": [ "na=192.168.154.129:8848", "ns=eams-cpp-dev", "sn=arch-demo", "ip=192.168.154.129", "sp=8090" // 补充服务器端口,避免注册时端口为空 ] }✅ 关键修正:
- 删掉所有
//注释(JSON 不识别); - 补充
sp=8090(服务器端口,注册服务需要端口,否则atoi转换会出错); - 确保参数格式是
前缀=值,等号两边无空格(你的注释里写的na = xxx有空格,解析时会触发format error并退出程序)。
注意1
linux操作系统下面是严格区分字母大小写的哦。
注意2
运行.sh结尾的shell脚本文件的时候需要注意的地方。修改格式命令:set ff=unix
vs上面的代码运行跑在linux服务器上的手需要修改windows下的dos改为linux下的unix哦。