nodejs运行一段时间后无法访问了,后台正常运行
发布于 12天前 作者 heixiaoshan 343 次浏览 来自 问答

服务器环境:centos7 、koa框架 症状: 1.node 在运行一段时间后无法正常在非服务器端访问。 2.客户端能够正常ping通服务器,排除网络问题。 3.重启服务器后,再启动node 能够正常访问。(不重启服务器,只是重启nodejs还是无法访问) 有大神知道原因吗?或提供解决方案!

14 回复

“重新启动 node”和“重启 nodejs”有区别吗?

@idreamshen 问的好,已经修正问题

@heixiaoshan 有nginx做代理吗?重启node没用的话,应该是外部问题。可以尝试从nginx等上分析日志问题。

@heixiaoshan 分享一下如何修正的,具体问题是什么样的

@yuenshui 我是说修正了问题描述,暂时还在排查原因

根据你的描述

  • 在服务端能够访问服务 => 服务端程序没有问题

于是猜测内外2种可能的问题
1 服务器里是否有程序禁止node监听的端口接受外部请求
2 服务器外部还可能有代理, 这些代理是服务提供商的代理, 它们没把外部的请求转发到你服务器

@William17 在运行一段时间之后,才会出现这种情况。然后服务器重启就又正常了。 我同时运行了2个不同的node端,请求同一个后端。

@heixiaoshan
我的意思是会不会运行一段时间之后, 某个其它程序被启动然后限制了你的node程序所监听的端口.

可以试试这样排查. 运行2个app实例, 监听不同的端口. 例如, app1 监听 p1, app2 监听p2 预期一开始外部能通过p1访问app1, 也能通过p2访问app2 预期运行一段时间之后, 上面至少有一个app, 外部已经不能访问,但是服务器本地还能访问. 这时候再起一个app3, 监听p3 看看外部能不能通过p3访问app3

@William17 这个方法可以去试试,谢谢啦

资源耗尽?内存在涨么

回到顶部