第一个Heroku部署失败,错误代码= H10
我将我的应用程序部署到Heroku。 这是一个node.js + express + socket.io应用程序,这是package.json
文件
{ "name": "game_test", "author": "Ilya", "description": "A test app for our board game", "version": "0.0.1", "private": true, "scripts": { "start": "node app" }, "dependencies": { "express": "3.0.6", "jade": "*", "socket.io" : "*" }, "engines": { "node": "0.8.14" } }
这是我得到的日志:
heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/ host=game-test-1.herokuapp.com fwd=37.26.146.185 dyno= queue= wait= connect= service= status=503 bytes= heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/favicon.ico host=game-test-1.herokuapp.com fwd=37.26.146.185 dyno= queue= wait= connect= service= status=503 bytes=
这是什么意思?
在这里find我的解决scheme: Heroku + node.js错误(Web进程无法在启动60秒内绑定到$ PORT)
在我的情况下,我的应用程序崩溃,因为我很难设置PORT,而不是使用heroku dinamicaly设置的端口,可以通过process.env.PORT
app.listen(process.env.PORT || 3000, function(){ console.log("Express server listening on port %d in %s mode", this.address().port, app.settings.env); });
我只是遇到了类似的问题,我的应用程序,我遇到了数据库迁移后的问题,尝试了很多select后,帮助我的是这样的:
heroku restart
(使用Heroku toolbelt for mac)
在我的情况下,我发现同样的错误,因为有本地机器上的节点和npm的版本差异,并在package.json版本中定义。
"engines": { "node": "0.8", "npm": "1.2.x" }
当我检查使用
node --version : v0.10.41 npm --version : 1.4.29
当我更新我的package.json
"engines": { "node": "0.10.41", "npm": "1.4.29" }
它工作正常:)
在我的情况下添加process.env.PORT || 3000
process.env.PORT || 3000
到我的http服务器脚本,解决。 我的heroku日志报告“H20”错误和503 HTTP状态。
同时检查你的数据库连接。 我忘了更改我的数据库连接从本地主机,这一次崩溃了我的应用程序一旦推到heroku。
在我的情况下,我的Procfile指向错误的文件(我之前使用的bot.js),所以一旦我更新它,错误消失了。
我得到了与“应用程序崩溃”和H10错误和heroku应用程序日志相同的上述错误没有显示有关错误信息的原因很多信息。 然后我重新启动了heroku中的dynos,然后在我的设置中的index.js文件之一中显示错误,并在其中添加了大括号。 一旦它被移除并重新部署在Heroku上的应用程序,该问题得到解决。
希望这对面临同样问题的人有帮助。
在我自己的情况下,我得到这个错误,因为我拒绝添加一个Procfile到我的节点js应用程序和我的“主”:“app.js”最初指向另一个js文件为主。 所以这些chnages得到它固定的我