在Heroku上部署Flask App

时间:2017-02-06 00:29:23

标签: heroku flask

如果这是一个巨大的错误,我会事先道歉。我在本地服务器上创建了Flaskr Flask教程App http://flask.pocoo.org/docs/0.12/tutorial/packaging/#tutorial-packaging,但是当我尝试在Heroku上部署应用程序时,Heroku会响应"应用程序错误"。 我正在使用相同的教程文件结构,我刚刚在我的应用程序的根目录中添加了一个Procfile。 Procfile包含以下行:

export FLASK_APP=flaskr.py
export FLASK_DEBUG=true
flask run

日志没有错误,dyno运行正常,但应用程序没有运行。有什么建议吗? Heroku甚至是部署此应用程序的最佳方式吗?

1 个答案:

答案 0 :(得分:4)

Procfile用于启动应用程序或执行其他命令,你必须声明一个web进程来启动Heroku服务器,它应该是这样的:

web: gunicorn -k gevent app:app

或没有gevent

web: gunicorn app:app

您还可以添加gunicorn选项:

web: gunicorn -w 4 app:app

此外,gunicorngevent(optional)应包含在您的requirements.txt文件中。

在上面的代码中,第一个app是python文件的名称(即app.py),第二个是应用程序实例的名称(即app = Flask(__name__) )。

以下是heroku的Flask应用程序模板:https://github.com/zachwill/flask_heroku