我知道这个问题已经问过几次了,但是我还没有找到一个有效的解决方案。我尝试在Heroku上部署我的节点服务器,并且构建成功,但是日志打印了以下消息。我也使用mongoose,并且在本地部署没有问题。
2019-02-10T22:30:09.912634+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=chatifydotcom.herokuapp.com request_id=b486e511-ff21-4166-ae1d-07bf5796691e fwd="74.196.2.211" dyno= connect= service= status=503 bytes= protocol=https
2019-02- 10 T22:30:10.287542+00:00希禄【路由器】:应用程序已崩溃,请输入错误代码,然后单击chatifydotcom.herokuapp.com“74.196.2.211下一步”。
Server.js
const uri = process.env.MONGODB_URI || "mongodb://localhost:27017/chat"
mongoose
.connect(uri, { useNewUrlParser: true })
.then(() => console.log("MongoDB Connected"))
.catch(err => console.log(err.message))
const port = process.env.PORT || 9000
server.listen(port, () => {
console.log(`This server is over ${port}`)
})
5条答案
按热度按时间tquggr8v1#
Heroku错误代码H10本质上只是意味着应用程序崩溃了,正如它所说,但你需要做更多的挖掘,以找出真正的问题是什么。
您可以通过从控制台启动heroku dyno上的应用程序来完成此操作:编辑:运行控制台的命令可能会有所不同,我在Windows上执行了此操作
然后,您可以查看应用的控制台输出,以及用于故障排除的更具体的错误信息。然后,您可以在此处修复或询问更具体的问题。
6l7fqoea2#
我还尝试了this question问题答案中的解决方案
我的节点版本没问题,我的端口设置也没问题。它们都没有真正工作过。我的案例只是一个简单的带有Express的JS脚本。
然后我试着把这个
到这
这很管用。
3ks5zfa03#
我遇到了同样的问题,最后我解决了这个问题。在我的例子中,我执行的是
git push heroku main
,而main
也不是默认分支。我必须先转到主分支(默认分支),将代码与我的其他分支合并,然后是heroku git:remote -a <repoName>
和git push heroku master
。希望这能有所帮助!0lvr5msh4#
我也遇到了这个问题。我发现它归结为正在使用的节点版本中的冲突。我使用的是16.14.0; Heroku正在部署17.5.0.As it turns out,17.5.0和mongoose不沿着。我的包里有这个。json:
进行此更改解决了以下问题:
34gzjxbg5#
我的问题是我的IP地址在我的Mongo DB Atlas部署后。首先,在您的命令行输入:$ npm run。检查并修复您的pakage.json中的错误。然后,使用heroku运行npm:$ heroku run npm start。不要取消操作。同时,匹配名称并从heroku站点打开您的应用程序。它将运行或显示错误消息。
我的错误消息:Mongoose服务器选择错误:无法连接到您的MongoDB Atlas集群中的任何服务器。一个常见的原因是您试图从一个不在白名单中的IP访问数据库。请确保您当前的IP地址在您的Atlas集群的IP上。
登录MongoDB atlas。然后,进入左侧的网络访问。然后选择+添加IP地址。然后,允许从任何地方访问(0.0.0.0/0)。再次重新运行heroku应用程序。