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

求助:无法在Heroku部署Node应用,仅显示默认欢迎消息

解决Heroku部署Node.js应用后仅显示欢迎消息的问题

我来帮你排查下这个问题,这类情况通常是几个常见配置问题导致的,一步步来梳理:

  • 检查Procfile配置是否正确
    Heroku需要通过Procfile知道怎么启动你的应用。你需要在项目根目录创建一个首字母大写、无后缀的Procfile文件,里面指定启动命令,比如你的入口文件是server.js,就写:

    web: node server.js
    

    注意要替换成你实际的入口文件名,比如app.js之类的。如果没有这个文件,Heroku可能会用默认的Node.js欢迎页。

  • 确认端口设置符合Heroku要求
    Heroku会给应用分配动态端口,不能在代码里硬写固定端口(比如3000)。你需要改成读取环境变量里的端口,同时保留本地测试的 fallback 端口:

    const express = require('express');
    const app = express();
    
    // 正确的端口配置
    const port = process.env.PORT || 3000;
    
    app.listen(port, () => {
      console.log(`Server running on port ${port}`);
    });
    
  • 检查package.json的scripts配置
    确保你的package.json里有start脚本,Heroku默认会用这个脚本启动应用:

    "scripts": {
      "start": "node server.js",
      "dev": "nodemon server.js" // 本地开发脚本不影响,但start必须正确配置
    }
    

    如果你的启动命令不是node server.js,要对应修改这里,或者在Procfile里明确指定自定义启动命令。

  • 查看完整日志定位深层错误
    你提供的日志只显示了构建开始的部分,建议运行以下命令查看实时完整日志:

    heroku logs --tail
    

    重点关注构建完成后的启动阶段,有没有报错信息——比如模块缺失(Cannot find module)、语法错误、端口冲突等,这些都会导致应用无法正常启动,Heroku就会自动显示默认欢迎页。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:31:15