Heroku 在尝试打开我的网络应用程序时给了我一个 503,在本地主机上工作

新手上路,请多包涵

我正在尝试部署到 heroku,但即使它在 localhost 上运行也会得到 503。我很好奇我的服务器是否设置正确,因为我是编程新手。我希望任何人都可以指出我在哪里寻找或提供建议的正确方向,因为到目前为止我已经在谷歌上花费了无数个小时,跨越了几个星期。

我的主要问题是我是否正确设置了我的服务器?我不确定我的侦听器是否适用于 heroku,而我的 .get 在最初设置时用于在 localhost 上进行调试。

我的完整项目也可以在这里找到:

https://github.com/dirkdir/DerekDevSite

 var express = require('express');
var app = express();
var path = require('path');

app.use(express.static(path.join(__dirname, 'public')));

app.get('/json', function(req, res) {
    console.log("GET the json");
    res
        .status(200)
        .json( {"jsonData" : true} );
});

app.get('/file', function(req, res) {
    console.log("GET the file");
    res
        .status(200)
        .sendFile(path.join(__dirname, 'app.js'));
});

    var server = app.listen(process.env.PORT || 5000), function() {
        var port = server.address().port;
        console.log("Express is working on port " + port);
});

日志:

2017-04-24T20:04:43.755866+00:00 app[web.1]: 在 Module._compile (module.js:542:28) 2017-04-24T20:04:43.755867+00:00 app[web. 1]: 在 Object.Module._extensions..js (module.js:579:10) 2017-04-24T20:04:43.755868+00:00 app[web.1]: 在 Module.load (module.js: 487:32) 2017-04-24T20:04:43.755868+00:00 app[web.1]: at tryModuleLoad (module.js:446:12) 2017-04-24T20:04:43.755869+00:00 app[ web.1]: 在 Function.Module._load (module.js:438:3) 2017-04-24T20:04:43.755869+00:00 app[web.1]: 在 Module.runMain (module.js:604 :10) 2017-04-24T20:04:43.755870+00:00 app[web.1]: 在运行 (bootstrap_node.js:393:7) 2017-04-24T20:04:43.755871+00:00 app[web .1]:启动时 (bootstrap_node.js:150:9) 2017-04-24T20:04:43.846556+00:00 heroku[web.1]: 状态从开始变为崩溃 2017-04-24T20:26:31.826133 +00:00 heroku[路由器]: at=error code=H10 desc=“App crashed” method=GET path=“/” host=derekdyerdev.herokuapp.com request_id=609ef253-0a56-41ac-b877-1fb242f6f4e1 fwd=” 69.36.89.218” dyno=connect=service=status=503 字节es= protocol=https 2017-04-24T20:26:32.319732+00:00 heroku[router]: at=error code=H10 desc=“App crashed” method=GET path=“/favicon.ico” host=derekdyerdev. herokuapp.com request_id=f2a34e62-9765-

原文由 Derek Dyer 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 467
2 个回答

您的 app.js 文件的 34 行中的括号位于错误的位置。由于该函数是一个回调,它需要在参数内。

将最后一个块更改为:

 const server = app.listen(process.env.PORT || 5000, () => {
  const port = server.address().port;
  console.log(`Express is working on port ${port}`);
});

我还将 Procfile 修改为:

 web: node app.js

在我修改后,我可以在本地运行,我将它部署到我的 Heroku 只是为了测试,它工作正常:)

原文由 Lissy93 发布,翻译遵循 CC BY-SA 4.0 许可协议

这可能对某人有帮助。我最初的个人资料内容是这样的:

 web : node server.js

将其更改为此后,它起作用了:

 web:node server.js

‘web’ 和 ‘:’ 符号之间的空格是问题所在。虽然很奇怪

原文由 Renil Joseph 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题