使用Heroku启动我的Node.js + Mongo API

时间:2018-02-05 19:06:56

标签: node.js mongodb heroku

我知道这可能是一个初学者的问题,但我到处都看了看,我仍然遇到问题。

我有一个我在本地运行的Node API。我唯一需要做的就是在终端中运行:

$ mongod

然后

$ node src/loader.js

所以,我将我的代码上传到Heroku并添加到我的package.json:

    "scripts": {
      "start": "node src/loader.js"
    }

但是当我跑来跑去' $ heroku ps'它说我的过程崩溃了。我本地构建和Heroku构建之间的区别是什么?

添加我的Heroku日志--tail。

2018-02-05T19:19:17.648257+00:00 heroku[web.1]: Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch
2018-02-05T19:19:17.648257+00:00 heroku[web.1]: Stopping process with SIGKILL
2018-02-05T19:19:17.732544+00:00 heroku[web.1]: Process exited with status 137

2 个答案:

答案 0 :(得分:1)

首先查看来自终端'heroku logs --tail'的heroku日志,如果您需要更多详细信息,可以访问heroku中的应用程序,并在右上角查看heroku平台中的日志。 / p>

如果您可以发布一些日志,那么如果您无法从评论中获取,那将有助于告知出现了什么问题。

答案 1 :(得分:0)

所以,我发现了这个问题。 Heroku动态地为您的应用分配一个端口,因此您无法将端口设置为固定数字,并且在我的代码中我分配给端口:'3000'。

所以你需要改为

var port = process.env.PORT || 3000;