AWS EB Flask无法识别静态文件

时间:2014-03-15 15:08:24

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

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

--application.py
 /static
 /templates
 requirements.txt
 .ebextensions
 .elasticbeanstalk

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

--application.py
--.ebxtensions
--.elasticbeanstalk
  /app
     - __init__.py
     - /static
     - /templates

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

(P.S.App正常工作,但不识别静态文件夹)

任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:5)

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

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

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

答案 1 :(得分:2)

这似乎是这个问题的最新版本,我认为我会因为这个因为我的配置设置很好并且错误记录错和请求日志没有显示任何问题。我终于打开了开发人员控制台,看到我收到了所有静态资产的ERR_BLOCKED_BY_CLIENT。 Ghostery显然将弹性beanstalk视为跨域分析跟踪器,因此可能需要在某处记录另一个问题。它很简单,可以在我的结束时关闭它,但我只是为了好玩而运行一个网站。如果您尝试将实际产品部署到弹性beanstalk并且Ghostery阻止所有静态资产,我不确定您会怎么做。您的客户可能只是认为您的网站糟透了,并且不会想到要看。我想你最好直接捆绑它或使用CDN。