【问题标题】:How to resolve Flask internal server error with AWS EB如何使用 AWS EB 解决 Flask 内部服务器错误
【发布时间】:2020-04-18 19:06:22
【问题描述】:

我有一个运行 Python 3.6 的 Elastic Beanstalk 环境。我正在尝试在其中运行 Flask 应用程序,但是当我单击 Elastic Beanstalk 提供的 URL 时,我不断收到 500 内部服务器错误:

内部服务器错误

服务器遇到内部错误或配置错误,无法完成您的请求。

请通过 root@localhost 联系服务器管理员,告知他们此错误发生的时间,以及您在此错误之前执行的操作。

服务器错误日志中可能会提供有关此错误的更多信息。

这是我的基本文件结构:

ProjectRoot/
    .ebextenstions/
        application.config
    .elasticbeanstalk/
        config.yml
    env
    myapp/
        static
        templates
        __init__.py
        routes.py
    .ebignore
    application.py
    requirements.txt

这是我的 application.config 文件:

option_settings:
  "aws:elasticbeanstalk:container:python":
    WSGIPath: application.py
  "aws:elasticbeanstalk:container:python:staticfiles":
    "/static/": "application/static/"

我正在使用 Elastic Beanstalk 托管一个 PHP 网站,但 Flask 似乎要复杂得多。我认为我的问题只是配置错误,但我还没有找到任何解决方案。

【问题讨论】:

    标签: python amazon-web-services flask


    【解决方案1】:

    我确实建议您使用 Flask 和 SQLAlchemy 的详细模式来调试您的应用程序,这样您就可以更好地了解正在发生的事情,有了这个级别的详细信息,我只能建议您检查 AWS 上的权限/IAM 之类的东西,以检查您的 ElasticBeanstalk 是否真的可以访问 RDS,我假设 ELB/应用程序使用一组凭据,而您在本地使用另一个凭据进行测试,对吗?

    关于“详细模式”,尝试将 SQLALCHEMY_ECHO 设置为 True:http://flask-sqlalchemy.pocoo.org/2.3/config/ 还有这个选项我没有测​​试:https://github.com/pallets/flask-sqlalchemy/pull/208/files?short_path=fd40cf2

    在 Flask 应用上,您也可以将 debug 设置为 True。

    另一个选项是调试您是否可以在 RDS 上直接与机器/容器上的客户端连接,或者至少在 telnet 工作时进行调试。

    【讨论】:

    • 解释时请至少举一个例子。
    猜你喜欢
    • 2020-04-25
    • 2022-10-08
    • 2023-01-09
    • 2013-11-22
    • 1970-01-01
    • 1970-01-01
    • 2020-01-30
    • 2021-05-14
    • 1970-01-01
    相关资源
    最近更新 更多