【问题标题】:AWS EB Flask does not recognize static filesAWS EB Flask 无法识别静态文件
【发布时间】:2014-04-20 22:53:06
【问题描述】:

我在使用 Elastic Beanstalk 在 AWS 上托管 Flask App 时遇到问题。 我关注了 AWS 上的文档(看起来有点旧?),并做了一些解决方法建议 here。如果我有这个文件夹结构,它就可以工作:

--应用程序.py /静止的 /模板 要求.txt .ebextensions .elasticbeanstalk

但是,我想让我的应用程序更有条理。所以我将我的文件夹结构移动到它停止工作

--应用程序.py --.ebxtensions --.elasticbeanstalk /应用程序 - __init__.py - /静止的 - /模板

我尝试的是更改 optionsettings.myapp-env 中的设置,建议 here。但我没有运气。

(P.S. App 工作正常,只是无法识别静态文件夹)

任何帮助将不胜感激!

【问题讨论】:

    标签: python amazon-web-services flask amazon-elastic-beanstalk


    【解决方案1】:

    看起来您需要将路径映射更改为: "/static/": "app/static/"

    此映射将虚拟(您在 html 中引用的内容)映射到目录结构。既然你已经改变了目录,现在你也需要改变映射。

    或者,您也可以在 AWS Beanstalk Web 控制台中执行相同的配置。不需要在配置文件中做。

    【讨论】:

    • 我不敢相信我还没有检查管理控制台中的配置,你拯救了我的一天!
    • 这仍然是一个有效的解决方案。我无法让它工作。我假设我需要做的是转到环境的 AWS 管理页面,选择“软件配置”面板,并将虚拟路径 /static/ 的目录从 static/ 更改为 xyz/static/,其中xyz 是我的项目中包含我的 Web 应用程序包的文件夹(对应于 OP 中的 app)。是这样吗(因为它不起作用)?
    • 我这辈子都做不到。我在 EB 上运行 Pyramid 应用程序。有人有建议吗?这是我提出的问题的链接:stackoverflow.com/questions/47046273/…
    【解决方案2】:

    这似乎是这个问题的最新版本,我想我会插话,因为这让我花了好几个小时试图弄清楚到底出了什么问题,因为我的配置设置很好,错误日志和请求日志没有显示任何问题。我终于打开了开发者控制台,看到我的所有静态资产都获得了 ERR_BLOCKED_BY_CLIENT。 Ghostery 显然将弹性 beanstalk 视为跨域分析跟踪器,因此可能需要在某个地方记录另一个问题。关闭它很简单,但我只是为了好玩而运行一个网站。如果您尝试将实际产品部署到弹性 beantalk 并且 Ghostery 会阻止您的所有静态资产,我不确定您会怎么做。您的客户可能会认为您的网站很烂,不会考虑看。我想你最好直接捆绑它或使用 CDN。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-13
      • 1970-01-01
      • 2020-02-04
      • 2020-11-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多