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

AWS部署Gatsby遇段错误及服务器意外停机问题求助

解决Gatsby在AWS部署时的段错误(Segmentation Fault)及服务器宕机问题

以下是针对你遇到的「segmentation fault (core dumped) exit code 139」错误及服务器意外停机问题的排查和解决步骤:

  • 检查Node.js版本兼容性
    Gatsby对Node.js版本有严格要求,部分版本的Gatsby与Node.js 18+或过旧版本存在兼容性冲突。先查看项目package.json中的engines字段确认版本要求,再在AWS服务器上切换对应版本(推荐用nvm管理):

    nvm install 16 # 替换为项目要求的具体版本
    nvm use 16
    pm2 restart gatsby
    
  • 排查服务器资源不足问题
    小规格AWS实例(如t2.micro)内存有限,Gatsby运行时内存占用过高会触发段错误并导致宕机。先查看当前内存使用情况:

    free -h
    

    解决方法:

    • 给PM2进程设置内存上限,超过阈值自动重启:pm2 start gatsby --name "gatsby" --max-memory-restart 500M -- start
    • 升级AWS服务器实例规格,比如从t2.micro升级到t2.small或更高配置。
  • 禁用PM2集群模式
    Gatsby与PM2集群模式可能存在兼容性冲突,改用单实例启动:

    pm2 delete gatsby
    pm2 start gatsby --name "gatsby" -- start
    
  • 清理缓存与重新安装依赖
    缓存或损坏的依赖可能引发底层错误,执行以下操作重置项目:

    rm -rf node_modules .cache public
    npm install
    gatsby clean
    gatsby build # 生产环境需先构建再启动服务
    pm2 restart gatsby
    
  • 补充系统底层依赖库
    段错误可能源于系统缺少必要的底层库,针对不同AWS系统执行:

    • Ubuntu/Debian:
      sudo apt update && sudo apt upgrade -y
      sudo apt install build-essential libssl-dev
      
    • Amazon Linux:
      sudo yum update -y
      sudo yum install gcc-c++ openssl-devel
      
  • 启用核心转储定位深层问题(可选)
    如果以上方法未解决,可开启核心转储调试具体错误:

    ulimit -c unlimited # 临时开启核心转储功能
    pm2 restart gatsby
    

    错误发生后会生成core文件,用gdb查看调用堆栈信息定位问题模块:

    gdb $(which node) core
    (gdb) bt # 打印调用堆栈
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 09:52:19