如果这是一个很大的错误,我预先表示歉意。我创建了Flaskr,Flask教程应用程序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
Run Code Online (Sandbox Code Playgroud)
日志没有错误,dyno运行正常,但应用程序未运行。有什么建议吗?Heroku甚至是部署此应用程序的最佳方法吗?
Procfile用于启动应用程序或执行其他命令,您必须声明一个web进程以启动Heroku服务器,它应如下所示:
web: gunicorn -k gevent app:app
Run Code Online (Sandbox Code Playgroud)
是否gevent:
web: gunicorn app:app
Run Code Online (Sandbox Code Playgroud)
您还可以添加gunicorn选项:
web: gunicorn -w 4 app:app
Run Code Online (Sandbox Code Playgroud)
此外,gunicorn并且gevent(optional)应包含在您的requirements.txt文件中。
在上面的代码中,第一个app是python文件的名称(即app.py),第二个是应用程序实例的名称(即app = Flask(__name__))。
这是heroku的Flask应用程序模板:https : //github.com/zachwill/flask_heroku