【发布时间】:2020-09-16 13:42:13
【问题描述】:
我正在尝试使用 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 文件中不存在。它是缓存在某个地方还是什么地方?
【问题讨论】:
-
你确定这是唯一定义它的地方吗?也许设置的某处有重复?
-
我只创建了一个
.ebextension文件夹。如果 bean stalk 确实在搜索该文件夹以及其中的所有.config文件,那么这应该是唯一的地方 -
如果您手动创建 zip 部署并使用 EB 控制台创建 env,错误是否仍然存在?
-
好的,我明白了..打开调试后,我意识到 eb cli 正在从我的 git 中读取内容......我还没有将我的更改提交给 git.. ...哇
-
如果它现在可以工作,我可以根据 cmets 提供答案以供将来参考吗?
标签: python django amazon-web-services amazon-elastic-beanstalk