【问题标题】:How can I host my backend flask app on heroku?如何在 heroku 上托管我的后端烧瓶应用程序?
【发布时间】:2021-09-13 04:36:20
【问题描述】:

我有一个作为前端的到达应用程序和一个作为后端的烧瓶应用程序。

我在 heroku 上托管了前端。问题出在后端。

当我将它部署在 heroku 上时,它构建得很好,但我总是得到以下内容。

当我检查日志时,我看到以下内容。

我不确定问题是什么,但我认为它在模型文件中。

database_path = os.environ['DATABASE_URL']

db = SQLAlchemy()
def setup_db(app, database_path=database_path):

if database_path.startswith("postgres://"):
   database_path = database_path.replace("postgres://", "postgresql://", 1)

app.config["SQLALCHEMY_DATABASE_URI"] = database_path

engine = sqlalchemy.create_engine(database_path)

if not database_exists(engine.url):
  create_database(engine.url)

app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False

db.app = app
db.init_app(app)
db.create_all()

有什么想法吗?

如果我没有提供足够的信息,我深表歉意,我对在本地计算机之外运行网页是全新的。

编辑:

我创建了 procfile 并添加了

web: gunicorn flaskr:app

新日志是

我的应用结构是

【问题讨论】:

  • 错误是heroku找不到模块“wsgi”(第一行)。这个模块在你的 requirements.txt 中吗?

标签: postgresql flask heroku flask-sqlalchemy


【解决方案1】:

首先在部署时尝试一下

heroku addons:create heroku-postgresql:hobby-dev

如果还是不行,试试下面的方法

从日志中可以看出,您没有在 Procfile 中正确配置发电机。使用 gunicorn 并尝试将其添加到您的个人资料 web: gunicorn app:app。这应该可以解决问题。如果没有,因为您使用的是 postgresql,如果您从 here 下载 postgresql 的 heroku 插件会很有帮助

这应该可以解决您的问题。如果不是,下面列出了部署 heroku 应用程序的所有步骤。请检查您是否按顺序正确执行了以下所有步骤。

对于 Flask,我建议做以下事情

  • 下载heroku cli
  • 在您的项目文件中使用python -m venv . 启动一个虚拟环境
  • 激活虚拟环境
  • 在 cli 中使用 heroku login 登录您的 heroku 帐户
  • 安装gunicornpip install gunicorn
  • 在您的虚拟环境中,使用 pip 再次安装模块
  • 使用pip freeze > requirements.txt 创建 requirements.txt
  • 使用以下信息web: gunicorn app:app 创建“Procfile”,这将修复日志中的发电机问题
  • 使用git init 启动一个空的 git 存储库
  • 创建一个合适的.gitignore,可以找到模板here
  • 使用heroku create my-app-flask 创建一个新的heroku 应用程序
  • 将文件添加到heroku git,git add .
  • 由于您使用的是 postgresql,如果您为您的应用下载 heroku 插件会很有帮助 获取它here
  • 最后,git commit -m "Message"git push heroku master
  • 这应该可以解决您的问题。

【讨论】:

  • wsi 错误是没有发电机时。尝试在 Procfile 中使用gunicorn
  • 所以我只是这样做了,我现在正在显示日志。
  • 你能改写一下吗?我没找到你
  • 我添加了 procfile 并使用新日志和更多信息编辑了我的原始问题。
  • 我也有 heroku postgress 插件
猜你喜欢
  • 2016-12-04
  • 2020-10-20
  • 2016-02-08
  • 2020-02-04
  • 2016-04-14
  • 2015-05-10
  • 2014-11-26
  • 2023-04-09
相关资源
最近更新 更多