我做的例子:http://flask.pocoo.org/docs/quickstart/,我可以在“foreman start”之后在我自己的机器上运行它,但是当我在heroku上部署它时,我得到了R10超时错误。
我写了Procfileas:
web: python flaskr.py
并且为了运行“git push heroku master”命令,我删除了“disreibute == 0.6.24”句子,因为如果没有,我会得到如下错误:
Traceback (most recent call last):
File "<string>", line 1, in <module>
NameError: name 'install' is not defined
所以我不知道它是Procfile还是requirements.txt文件错误或其他错误。我几乎读了所有找到的文章,但问题还没有解决。
此外,该示例使用了SQLite3数据库,我不知道它是否与此有关..
最后,我会在这里列出日志:
at=error code=H20 desc="App boot timeout" method=GET path=/ host=tranquil-tor-4127.herokuapp.com request_id=8a088587-bee9-40e9-a686-0555843c191b fwd="8.35.201.53" dyno= connect= service= status=503 bytes=
Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch
Stopping process with SIGKILL
Process exited with status 137
at=error code=H10 desc="App crashed" method=GET path=/ host=tranquil-tor-4127.herokuapp.com request_id=59ccb901-e988-430d-93e8-f83a8930e60b fwd="8.35.201.50" dyno= connect= service= status=503 bytes=
at=error code=H10 desc="App crashed" method=GET path=/ host=tranquil-tor-4127.herokuapp.com request_id=7b76850f-7c25-481f-8216-542d9baaa769 fwd="8.35.201.51" dyno= connect= service= status=503 bytes=
Slug compilation started
State changed from crashed to starting
at=error code=H10 desc="App crashed" method=GET path=/ host=tranquil-tor-4127.herokuapp.com request_id=5601bbce-b00c-4927-8d9c-ac534745859d fwd="8.35.201.52" dyno= connect= service= status=503 bytes=
我注意到slug编译可以正常完成,然后是R10错误。
答案 0 :(得分:2)
针对我们的node.js应用程序的以下解决方案可能会帮助到这里结束的任何人。
听127.0.0.1会导致我们遇到 code = H20 desc =“应用启动超时” 问题。将监听地址更改为0.0.0.0 即可解决问题。
也不要使用您自己的端口,而是使用环境变量PORT ,该变量由heroku传递给您的应用环境变量。否则,您也会遇到此问题。
这是我们的节点代码:
const { PORT=3000, LOCAL_ADDRESS='0.0.0.0' } = process.env
server.listen(PORT, LOCAL_ADDRESS, () => {
const address = server.address();
console.log('server listening at', address);
});
因此,请尝试记录您的监听地址和端口并首先进行检查。