交叉链接到AWS论坛
我使用WSGI开发了一个简单的Python Web服务,并希望使用Elastic Beanstalk将其部署到AWS云。 我的问题是我无法使我在Elastic Beanstalkconfiguration中指定的所有选项在云中正确configuration。
为了部署,我使用Elastic Beanstalk CLI实用程序。 我已经运行了eb init命令并设置了所需的参数。 之后,在我的源代码树中创build了一个名为.elasticbeanstalk的目录。 它有两个用于部署的configuration文件,即config和optionsettings 。 后面的其中一个选项包含必须在实例中更新/etc/httpd/conf.d/wsgi.conf的WSGIconfiguration。 经过一些调整后,文件具有以下设置:
[AWS:elasticbeanstalk:应用:环境] DJANGO_SETTINGS_MODULE = PARAM1 = PARAM2 = PARAM4 = PARAM3 = PARAM5 = [AWS:elasticbeanstalk:容器:蟒] WSGIPath = handler.py NumProcesses = 2 StaticFiles = / static = NumThreads = 10 [AWS:elasticbeanstalk:容器:蟒:staticfiles] / static = static / [AWS:elasticbeanstalk:hostmanager] LogPublicationControl = false [AWS:自动缩放:launchconfiguration] InstanceType = t1.micro EC2KeyName = zmicier-aws [AWS:elasticbeanstalk:应用] 应用程序Healthcheck URL = [AWS:自动缩放:ASG] MaxSize = 10 MinSize = 1 自定义可用区域= [AWS:elasticbeanstalk:监测] 自动终止不健康的实例= true [AWS:elasticbeanstalk:SNS:主题] 通知端点= 通知协议=电子邮件
事实certificate,当我启动环境或更新它时,并不是所有这些选项都被考虑在内。 因此,当我更新NumThreads或NumProcesses ,相应的参数按照预期在wsgi.conf被更改。 但是无论我写入WSGIPath和StaticFiles参数,我都无法自动更改wsgi.conf的相应值,它们仍然保留
Alias /static /opt/python/current/app/ WSGIScriptAlias / /opt/python/current/app/application.py
这使我疯狂。 而且,当我使用git aws.push部署我的应用程序并具有.ebextensions/python.config文件的下列内容时,我在其中指定的选项都不会影响部署。
option_settings:
- namespace:aws:elasticbeanstalk:container:python
option_name:WSGIPath
值:mysite / wsgi.py
- namespace:aws:elasticbeanstalk:container:python
option_name:NumProcesses
价值:5
- namespace:aws:elasticbeanstalk:container:python
option_name:NumThreads
价值:25
- namespace:aws:elasticbeanstalk:container:python:staticfiles
option_name:/ static /
值:app / static /
我想知道我应该怎么做才能强制AWS使用我在configuration中指定的所有参数,即WSGI Path和我的静态数据的path。