0

我正在将一个应用程序部署到 node.js mongodb-Atlas 托管的 Heroku 应用程序,部署后它开始崩溃。这是事件的日志:

2019-11-07T14:03:44.54763+00:00 app[web.1]: 
2019-11-07T14:03:44.547905+00:00 app[web.1]: npm ERR! A complete log of this run can be found in:
2019-11-07T14:03:44.548078+00:00 app[web.1]: npm ERR!     /app/.npm/_logs/2019-11-07T14_03_43_920Z-debug.log
2019-11-07T14:03:44.609666+00:00 heroku[web.1]: Process exited with status 1
2019-11-07T14:03:44.660116+00:00 heroku[web.1]: State changed from starting to crashed
2019-11-07T14:08:46.771752+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=flix-app-test.herokuapp.com request_id=14978e4f-fb93-44c8-a6c1-294a6a254e1e fwd="84.17.61.226" dyno= connect= service= status=503 bytes= protocol=https
2019-11-07T14:08:47.381666+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=flix-app-test.herokuapp.com request_id=b067c4c5-8b09-44c7-907e-bb2010dd97ec fwd="84.17.61.226" dyno= connect= service= status=503 bytes= protocol=https
2019-11-07T14:15:51.61258+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=flix-app-test.herokuapp.com request_id=5290a4ea-94b1-4d79-a8fe-6709e6cb2a15 fwd="91.168.132.252" dyno= connect= service= status=503 bytes= protocol=https
2019-11-07T14:15:52.254787+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=flix-app-test.herokuapp.com request_id=41f76767-00c8-490c-9c13-22c0906fedb9 fwd="91.168.132.252" dyno= connect= service= status=503 bytes= protocol=https

我发现的有关此 H10 错误的大多数帖子都指向定义通过 Heroku 侦听的端口的行上的一个问题,即它不接受严格的端口,但应用程序的侦听是通过以下代码完成的:

var port = process.env.PORT || 3000;
app.listen(port, "0.0.0.0", function() {
  console.log('Listening on Heroku defined port');
});

该代码在本地运行(仔细检查),但 Heroku 应用程序甚至没有加载。数据库正在运行并且可用,我找不到明显的问题。

我想知道我应该如何继续找出代码的哪一部分被破坏,或者找出它是 Heroku 的临时问题。提前致谢。

4

1 回答 1

0

如果您使用的是 ExpressJS,只需执行以下操作:

var port = process.env.PORT;
Promise.resolve(app.listen(port)).then(() => {
   console.log("Running!");
});

无论如何,503 是服务不可用的 HTTP 代码。如果上述代码不起作用,请发布错误路由的路由器和控制器代码。

于 2019-11-07T15:15:06.220 回答