首页 > 解决方案 > 带有 Django 的 AWS Beanstalk:eb create 抱怨未知配置设置“StaticFile”

问题描述

我正在尝试使用 Elasticbeanstalk 部署 django 应用程序,遵循此设置

https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create-deploy-python-django.html

和这个

https://www.1strategy.com/blog/2017/05/23/tutorial-django-elastic-beanstalk/

在第一次尝试时,在 .ebextension/django.config 中,我有

option_settings:
  "aws:elasticbeanstalk:application:environment":
    DJANGO_SETTINGS_MODULE: "my_django_path_name.settings"
    PYTHONPATH: "$PYTHONPATH"
  "aws:elasticbeanstalk:container:python":
    WSGIPath: "my_django_path_name/wsgi.py"
    StaticFiles: "/static/=www/static/"

打电话时eb create,它抱怨

ERROR: ServiceError - Configuration validation exception: Invalid option specification (Namespace: 
'aws:elasticbeanstalk:container:python', OptionName: 'StaticFiles'): Unknown configuration setting.

所以我拿出了StaticFiles部分,最终变成了

option_settings:
  "aws:elasticbeanstalk:container:python":
    WSGIPath: "my_django_path_name/wsgi.py"

它仍然抱怨未知的 OptionName:StaticFiles

然后我使用了https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create-deploy-python-container.html#python-namespaces中的示例并稍作调整

option_settings:
  aws:elasticbeanstalk:application:environment:
    DJANGO_SETTINGS_MODULE: production.settings

  aws:elasticbeanstalk:container:python:
    WSGIPath: ebdjango.wsgi:application
    NumProcesses: 3
    NumThreads: 20

但它仍然抱怨同样的事情。

我不知道在哪里读取 StaticFiles 选项名称。它在 .config 文件中不存在。它是缓存在某个地方还是什么?

标签: pythondjangoamazon-web-servicesamazon-elastic-beanstalk

解决方案


根据评论中的讨论,发现问题是由于从 giteb部署旧版本而不是应用程序的本地更正版本引起的。

解决方案是将更改推送到 git,以便部署新版本。


推荐阅读