我为我的cs50最终项目创建了一个flask应用程序。它已通过Github成功部署到Heroku,但由于某些原因,它无法工作
当使用flask run
在本地运行时,它可以正常工作
My project folder is organized like this
Procfile内容如下所示:
web: gunicorn app:app
我想这是对的,根据 this helpful post
按照heroku的指示,我运行heroku logs --tail --app [APP]
以查看问题所在
以下是我收到的错误消息:
at=error code=H14 desc="No web processes running" method=GET path="/" host=joking.herokuapp.com request_id=029d94b3-938c-4623-8421-7246c2ba52dc fwd="177.104.215.5" dyno= connect= service= status=503 bytes= protocol=https
当我在Procfile中明确定义它时,为什么它会说没有运行web进程呢?
此外,我搜索了网络(看看这些帖子,例如:A、B和C),人们通常通过运行heroku ps:scale web=1
来解决这个问题
我这样做了,但不幸的是,这并没有解决问题。下面是它返回的消息:
Scaling dynos... done, now running web at 1:Free
看来dynos标度是可以的
那会是什么问题呢?我错过什么了吗?
我接受任何建议。也许我的代码有问题?还是文件和文件夹的组织方式?古尼科恩
Here you can check out the github repository with all the code(请不要介意可怜的README.md文件,我还是会写一个好的)
我在heroku上部署了你的应用程序。没有类似
no web proccess running
的错误。 通过进入heroku的概览选项卡,您可以查看是否附加了任何dyno。但gunicorn工作人员仍未能启动。原因是您没有在app.run()中定义主机和端口参数
应该是这样的:
我注意到的第二件事是,您正在使用sqlite(db文件)作为数据库
herokudoesn't support sqliteworker超时重新启动,所有文件都处于部署状态。任何上载的文件或更新的文件都将丢失。这是resources
Heroku有postgresql数据库,可以使用,但是您需要使用psgcopg2(我不清楚),或者使用
flask-sqlalchemy
支持各种数据库。 你可以找到一些articles和视频来使用postgresql部署应用程序同样,您将无法在heroku中保存用户的个人资料图片。 您可以使用firebase存储系统和pyrebase包将文件上载到服务器docs
您可以访问已部署的应用程序here
相关问题 更多 >
编程相关推荐