You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Next.js生产站点随机冻结/502错误,重启PM2可恢复求解决

Next.js 13.2.4 生产站点随机冻结,仅抛出FetchError: getaddrinfo EAI_AGAIN

两台基于Next.js 13.2.4的相似生产站点部署在同一服务器上,会随机发生冻结,此时站点完全无法访问。PM2日志中仅能看到错误:FetchError: request to https://... failed, reason: getaddrinfo EAI_AGAIN。

同一服务器上的其他站点(包括其他Next.js站点)运行正常,该冻结问题完全随机,无法复现。

两台站点此前稳定运行数月无异常,代码无问题;同服务器的staging版本无此问题,但每日访问量仅1-2次,生产环境每日访问量达数百次。

已尝试的解决方法

  • 查看Nginx日志,仅显示connect() failed (111: Unknown error),无有效排查信息
  • 执行yarn upgrade将Next.js从13.1升级至13.2.4
  • 删除node_modules和.next文件夹后重新安装部署,仍会在2-3小时后出现冻结
  • 重启服务器
  • 切换Node.js版本(从19.7到18再到16),问题依旧存在

服务器环境

  • Ubuntu 22.04.2,Linux 5.15.0-67-generic x86_64内核VPS
  • 4GB内存,使用率约60%

临时解决方法

执行pm2 reload或pm2 restart可立即恢复站点;目前已设置cron任务每分钟检测站点状态,异常时自动执行pm2 reload。注意:冻结时pm2 list显示站点状态为online。

部署命令

yarn build && pm2 delete prod_name && pm2 start yarn --name prod_name -- next start -p 3100 && pm2 save

内容的提问来源于stack exchange,提问作者ThomasDEV

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 03:12:45