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

MERN应用通过GitHub部署至Heroku出现Internal Server Error求助

问题排查与解决步骤
  • 检查端口监听配置
    服务端启动代码不能写死监听端口,必须优先使用Heroku动态分配的端口,示例写法:
    app.listen(process.env.PORT || 本地开发端口, () => {
      console.log("服务启动成功")
    })
    
  • 检查根目录package.json的scripts配置
    确认存在正确的start脚本,指向服务端启动文件,注意Linux系统区分文件名大小写,和本地环境不一致可能会导致启动失败。示例配置:
    "scripts": {
      "start": "node server.js",
      "build": "cd client && npm install && npm run build"
    }
    
    你提供的构建日志中Build阶段无执行输出,说明当前没有配置前端打包的build脚本,React代码未被打包,线上环境无法加载前端资源是报错的核心原因之一。
  • 检查生产环境静态资源托管配置
    服务端代码需要配置静态资源路径指向React打包后的产物目录,示例写法:
    if(process.env.NODE_ENV === 'production') {
      app.use(express.static(path.join(__dirname, 'client', 'build')))
      app.get('*', (req, res) => {
        res.sendFile(path.join(__dirname, 'client', 'build', 'index.html'))
      })
    }
    
  • 检查Heroku环境变量配置
    本地开发使用的.env变量不会自动同步到Heroku,需要登录Heroku后台进入对应应用的「Settings」页面,找到「Config Vars」模块,将所有本地用到的环境变量(如数据库连接地址、第三方服务密钥等)逐一添加到Heroku配置中。
  • 查看运行时错误日志定位具体问题
    进入Heroku应用后台,点击右上角「More」按钮选择「View logs」,可以查看服务启动后的运行日志,根据报错信息可以精准定位错误原因。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 19:21:02