首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么在构建成功后我的应用程序没有在heroku中运行?

为什么在构建成功后我的应用程序没有在heroku中运行?
EN

Stack Overflow用户
提问于 2017-03-16 17:05:22
回答 1查看 3.5K关注 0票数 1

我已经使用烧瓶框架开发了一个python应用程序,我在Heroku中部署了同样的应用程序,但是在成功构建之后,我得到了应用程序错误。我的应用正在本地主机上运行。问题是什么,我哪里错了,以及如何解决问题。

Procfile内容:

app.py : python /app.py,我也尝试过web: python,但是它没有工作。

Requirments.txt:

flask==0.12

更确切地说,我不使用火鸟。

LogFile关于heroku的详细信息:

代码语言:javascript
复制
Python app detected
-----> Installing python-2.7.13
   $ pip install -r requirements.txt
    Collecting flask==0.12 (from -r /tmp/build_ae4a1daf2328eb128abf7b576e0858c1/requirements.txt (line 1))
      Downloading Flask-0.12-py2.py3-none-any.whl (82kB)
    Collecting itsdangerous>=0.21 (from flask==0.12->-r /tmp/build_ae4a1daf2328eb128abf7b576e0858c1/requirements.txt (line 1))
     Downloading itsdangerous-0.24.tar.gz (46kB)
   Collecting Werkzeug>=0.7 (from flask==0.12->-r /tmp/build_ae4a1daf2328eb128abf7b576e0858c1/requirements.txt (line 1))
     Downloading Werkzeug-0.12.1-py2.py3-none-any.whl (312kB)
   Collecting Jinja2>=2.4 (from flask==0.12->-r /tmp/build_ae4a1daf2328eb128abf7b576e0858c1/requirements.txt (line 1))
     Downloading Jinja2-2.9.5-py2.py3-none-any.whl (340kB)
   Collecting click>=2.0 (from flask==0.12->-r /tmp/build_ae4a1daf2328eb128abf7b576e0858c1/requirements.txt (line 1))
     Downloading click-6.7-py2.py3-none-any.whl (71kB)
   Collecting MarkupSafe>=0.23 (from Jinja2>=2.4->flask==0.12->-r /tmp/build_ae4a1daf2328eb128abf7b576e0858c1/requirements.txt (line 1))
     Downloading MarkupSafe-1.0.tar.gz
   Installing collected packages: itsdangerous, Werkzeug, MarkupSafe, Jinja2, click, flask
     Running setup.py install for itsdangerous: started
       Running setup.py install for itsdangerous: finished with status 'done'
     Running setup.py install for MarkupSafe: started
       Running setup.py install for MarkupSafe: finished with status 'done'
   Successfully installed Jinja2-2.9.5 MarkupSafe-1.0 Werkzeug-0.12.1 click-6.7 flask-0.12 itsdangerous-0.24
-----> Discovering process types
   Procfile declares types -> web
-----> Compressing...
   Done: 37.7M
-----> Launching...
   Released v3
   https://guarded-tundra-18526.herokuapp.com/ deployed to Heroku

LogFile没有显示任何错误。那么,为什么我不能运行我的应用程序。

EN

回答 1

Stack Overflow用户

发布于 2017-08-07 06:25:16

这可能是Flask实例(app)的"run“方法的主机和端口参数的问题。

将主机设置为"0.0.0.0“,而不是"127.0.0.1”,以允许任何IP访问应用程序(而不仅仅是本地)

默认情况下,端口是5000瓶,但是Heroku会动态地为应用程序分配一个端口,这样很难编码,所以无法工作。

运行该应用程序如下:

代码语言:javascript
复制
if __name__ == "__main__":
    port = int(os.environ.get("PORT", 5000))
    app.run(host="0.0.0.0", port=port)

然后可以从Heroku port获得端口。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42840476

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档