Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >复盘mall电商项目部署到云服务器过程中踩过的两个坑

复盘mall电商项目部署到云服务器过程中踩过的两个坑

作者头像
用户3587585
发布于 2024-03-25 02:24:21
发布于 2024-03-25 02:24:21
30800
代码可运行
举报
文章被收录于专栏:阿福谈Web编程阿福谈Web编程
运行总次数:0
代码可运行

引言

笔者在部署mall项目的过程中其实踩了两个典型的坑,花了不少时间才解决,这里笔者也记录下来,为在部署过程中遇到相同报错的读者朋友提供解决方案。

一、mall-portal服务连接超时

报错日志

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
2024-03-02 01:23:26 [reactor-http-epoll-2] ERROR o.s.b.a.w.r.e.AbstractErrorWebExceptionHandler - [75a7ff78-4]  500 Server Error for HTTP GET "/mall-portal/home/content"
io.netty.channel.ConnectTimeoutException: connection timed out: /10.0.8.16:8085
        at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe$2.run(AbstractEpollChannel.java:613)
        Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException:

问题定位

mall-gateway微服务网关在调用mall-portal微服务的时候报了上面这个连接超时的错误,为了解决这个问题笔者花了不少时间,后面发现mall-portal服务的ip地址10.0.8.16为内网ip,而在微服务调用的时候是需要一个公网的ip地址才能调用成功的。而当时我的mall-portal微服务明明是部署在一台腾讯云公网服务器上的。后面才发现原来是因为我的nacos服务部署在一台腾讯云轻应用服务器上,它会把同样部署在腾讯云服务器上的服务的ip注册为内网ip,造成mall-gateway网关服务在使用open-fengin客户端通过http请求在调用mall-portal微服务时报连接无法识别ip地址,从而造成连接超时的错误。

解决的方案

nacos注册中心服务部署到云服务器上,例如阿里云或腾讯云服务器上,注意一定不能部署到轻应用服务器上。

二、Nacos Grpc 服务状态运行时异常

报错日志

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
2024-03-05 23:52:19 [com.alibaba.nacos.client.remote.worker] ERROR c.a.n.c.r.client.grpc.GrpcClient - Server check fail, please check server 47.113.205.244 ,port 9848 is available , error ={}
java.util.concurrent.ExecutionException: com.alibaba.nacos.shaded.io.grpc.StatusRuntimeException: UNAVAILABLE: io exception
        at com.alibaba.nacos.shaded.com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:566)   com.alibaba.nacos.shaded.io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInContext(ClientCallImpl.java:740)
        at com.alibaba.nacos.shaded.io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37)
        at com.alibaba.nacos.shaded.io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:123)
        ... 3 common frames omitted
Caused by: com.alibaba.nacos.shaded.io.grpc.netty.shaded.io.netty.channel.AbstractChannel$AnnotatedConnectException: 拒绝连接: /47.113.205.244:9848
Caused by: java.net.ConnectException: 拒绝连接
        at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
        at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:715)
        at com.alibaba.nacos.shaded.io.grpc.netty.shaded.io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:330)

问题定位

Nacos服务不仅需要开通8848端口防火墙用于访问Nacos控制台,还需要开放9848端口用于GRPC协议通信,错误日志的第一行也提示的非常明显,让我们检查nacos服务器上用于Grpc客户端通信的9848端口是否可用。

解决方案

开通9848端口防火墙,同时登录云服务器控制台,在入站规则界面添加9848端口的入站规则

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
firewall-cmd --add-port=9848/tcp --zone=public --permanent
firewall-cmd --reload
总结

以上两个报错,第一个算比较难一点,需要结合自己的猜想和推理尝试才好解决。而第二个报错则日志提示得非常明显,解决起来也很容易。通过查看日志中的报错明细,其实都非常解决程序运行过程中出现的报错。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-03-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 阿福谈Web编程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
重磅更新!mall 微服务版本支持K8S部署啦!
通过把mall-swarm项目部署到K8S上,我们可以发现K8S也没有想象中到那么难,K8S中的很多东西都是和Docker相通的!当我们听到消息称某个新技术要取代旧技术了,往往会困惑我们学的那些旧技术是不是过时了,没用了?其实我们大可不必担心,往往新技术都是在旧技术的基础上产生的,而且那些会旧技术的人会更容易掌握新技术!
macrozheng
2021/03/11
1.2K0
重磅更新!mall 微服务版本支持K8S部署啦!
解决Spring Cloud整合Nacos与Gateway的探险之旅
在当今云原生应用的激动人心时代,Spring Cloud作为一种流行的微服务框架,与Nacos配置中心和Gateway网关的整合,为开发者提供了强大而灵活的工具来构建可伸缩的分布式系统。然而,尽管这个技术栈带来了无限的可能性,但在实践中,我们经常会遇到一些令人挑战的问题。
一只牛博
2025/05/30
920
Github标星25K+Star,SpringBoot实战电商项目mall出SpringCloud版本啦!
mall-swarm是一套微服务商城系统,采用了 Spring Cloud Greenwich、Spring Boot 2、MyBatis、Docker、Elasticsearch等核心技术,同时提供了基于Vue的管理后台方便快速搭建系统。mall-swarm在电商业务的基础集成了注册中心、配置中心、监控中心、网关等系统功能。
macrozheng
2019/12/11
1.1K0
Nacos2.1.0 - 外网服务器上的集群部署
简介什么是 NacosNacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service的首字母简称,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服
Reset
2022/12/19
2.2K0
记一次使用nacos2踩到的坑
因为是学习使用,朋友就在物理机搭建了搭建了nacos伪集群,即ip都一样,端口分别为8848,8847,8849。然而启动nacos服务器后,一台正常启动,其他两台都报了端口被占用
lyb-geek
2022/08/19
5.1K2
记一次使用nacos2踩到的坑
“0” 代码改动,半小时迁移商城业务上微服务平台TSF
导读 腾讯云微服务平台(Tencent Service Framework,简称TSF),是一个围绕应用和微服务的 PaaS 平台,提供一站式应用全生命周期管理、服务注册治理、APM、微服务网关等企业级能力。在享受TSF强大功能之前,很多客户都面临如何改造业务系统,以完成对TSF适配的技术难题。为了满足这些需求,我们将演示如何通过TSF最新的“云原生应用”能力,以最小的成本,帮助客户将Spring Cloud应用部署到TSF,快速体验产品的高阶功能。 背景介绍 Spring Cloud提供了微
腾讯云中间件团队
2021/07/21
1.3K0
10分钟在 Rainbond 上部署 mall 电商项目
很多小伙伴在学习 mall 电商项目时,都会在部署上折腾许久,虽然目前已经提供了很多种部署方式,比如 在 Linux 上部署 mall 、使用 Docker 或 DockerCompose 部署 mall ,但对于正在学习的我们都显得比较复杂,需要理解并学习这些容器技术。而本文将使用 Rainbond 部署 mall 电商项目,通过 Rainbond 部署 mall 商城项目非常方便、简单,让我们专注于代码,Rainbond 是一个云原生应用管理平台,使用简单,不需要懂容器、Kubernetes和底层复杂技术,轻松的在 Kubernetes 上部署应用并体验 Kubernetes 带来的能力。
Rainbond开源
2023/01/12
5820
微服务架构:由浅入深带你了解底层注册中心
文章链接:https://cloud.tencent.com/developer/article/2465228
努力的小雨
2024/11/13
2.6K0
黑马程序员2024最新SpringCloud微服务开发与实战 个人学习心得、踩坑、与bug记录 Day4
Qiuner
2024/07/19
3460
黑马程序员2024最新SpringCloud微服务开发与实战 个人学习心得、踩坑、与bug记录 Day4
微服务项目部署记录
小说精品屋开源项目是基于springcloud alibaba开发的微服务架构,整合了比较多的技术知识点,本文介绍windows本地部署的过程,一方面为了强化记忆,另一方面也是加深对微服务知识的学习
在水一方
2022/06/14
2820
微服务项目部署记录
怎样将本地web项目部署到腾讯云服务器上?
(1).用eclipse新建一个web项目,然后在webcontent下新建一个index.html,然后在本地部署到Tomcat服务器下,打开浏览器看是否能访问本地项目.
2019/05/10
18.9K0
Docker部署Seata服务器
🌊 关注我不迷路,如果本篇文章对你有所帮助,或者你有什么疑问,欢迎在评论区留言,我一般看到都会回复的。大家点赞支持一下哟~ 💗
杨不易呀
2023/10/31
9690
Docker部署Seata服务器
Nacos极简教程 _
服务发现和服务健康监测:支持基于DNS和基于RPC的服务发现,支持对服务的实时的健康检查,阻止向不健康的主机或服务实例发送请求;
落寞的鱼丶
2022/02/17
1.1K0
Mall电商实战项目专属学习路线,主流技术一网打尽!
由于mall项目涵盖了现阶段主流技术,如果你是个Java初学者的话,最好先看下面的资料打个基础,资料具体介绍可以参考mall学习所需知识点。
macrozheng
2021/01/25
2.9K0
Mall电商实战项目专属学习路线,主流技术一网打尽!
SpringBoot整合高性能微服务框架 gRPC
在 gRPC 里,客户端应用可以像调用本地对象一样直接调用另一台不同的机器上服务端应用的方法,使得我们能够更容易地创建分布式应用和服务。
微观技术
2021/03/11
7K1
SpringBoot整合高性能微服务框架 gRPC
第一次使用腾讯云服务器进行项目部署记录总结
这个可以说是自己第一次使用腾讯云服务器上线项目,这个过程中遇到了很多的问题,特此写一篇文章记录说明一下;
阑梦清川
2025/03/15
1110
Elasticsearch 集群某一节点修改 IP 后无法启动问题复盘
节点换 IP 原因探讨:宿主机服务器的IP地址和别的服务器IP 冲突,所以要修改一台服务器的 IP地址。
铭毅天下
2023/08/18
5630
Elasticsearch 集群某一节点修改 IP 后无法启动问题复盘
DartVM服务器开发(第十八天)--项目部署到云服务器
先购买一台云服务器,我选择的是Ubuntu / 16.04 LTS amd64 (64bit)操作系统
rhyme_lph
2018/09/13
1.7K0
DartVM服务器开发(第十八天)--项目部署到云服务器
Nacos搭建单机实例
Nacos是阿里开源的微服务架构组件,既可以用作服务注册中心,也可用作配置中心。 虽然Nacos的官方文档也有关于如何部署的说明,但是个人觉得不够详细和连续,故本文将阐述在单机环境实际搭建Nacos环境的详细步骤已经遇到的一些问题。
编程随笔
2023/10/15
5900
Web项目部署到腾讯云服务器
由于我用的是maven项目,开发工具是IntelliJ IDEA 2019.3.3 x64,所以直接 点击下图中的package即可
别团等shy哥发育
2023/02/25
11.9K0
Web项目部署到腾讯云服务器
推荐阅读
相关推荐
重磅更新!mall 微服务版本支持K8S部署啦!
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验