Zmi*_*nka 8 mod-wsgi amazon-web-services
我已经使用 WSGI 开发了一个简单的 Python Web 服务,并希望使用 Elastic Beanstalk 将其部署到 AWS 云中。我的问题是我无法在云中正确配置我在 Elastic Beanstalk 配置中指定的所有选项。
对于部署,我使用 Elastic Beanstalk CLI 实用程序。我已经运行eb init命令并设置了所需的参数。之后,.elasticbeanstalk在我的源代码树中创建了一个名为的目录。它有两个用于部署的配置文件,即config和optionsettings. 其他选项中的后一个包含必须/etc/httpd/conf.d/wsgi.conf在实例中更新的 WSGI 配置。经过我的一些调整后,该文件具有以下设置:
[aws:elasticbeanstalk:application:environment] DJANGO_SETTINGS_MODULE = 参数 1 = 参数 2 = 参数 4 = 参数3 = 参数 5 = [aws:elasticbeanstalk:container:python] WSGIPath = handler.py NumProcesses = 2 静态文件 = /静态= 线程数 = 10 [aws:elasticbeanstalk:container:python:staticfiles] /静态=静态/ [aws:elasticbeanstalk:hostmanager] LogPublicationControl = false [aws:自动缩放:启动配置] InstanceType = t1.micro EC2KeyName = zmicier-aws [aws:elasticbeanstalk:应用程序] 应用程序健康检查 URL = [aws:自动缩放:asg] 最大尺寸 = 10 最小尺寸 = 1 自定义可用区 = [aws:elasticbeanstalk:监控] 自动终止运行状况不佳的实例 = true [aws:elasticbeanstalk:sns:topics] 通知端点 = 通知协议 = 电子邮件
事实证明,当我启动环境或更新环境时,并未考虑所有这些选项。因此,当我更新NumThreadsor 时NumProcesses,相应的参数会wsgi.conf按预期更改。但是无论我写入WSGIPath和StaticFiles参数,我都无法自动更改 的相应值wsgi.conf,它们仍然存在
Alias /static /opt/python/current/app/
WSGIScriptAlias / /opt/python/current/app/application.py
Run Code Online (Sandbox Code Playgroud)
这让我发疯。此外,当我使用文件git aws.push的以下内容部署我的应用程序时.ebextensions/python.config,我在其中指定的任何选项都不会影响部署。
选项设置:
- 命名空间:aws:elasticbeanstalk:container:python
option_name:WSGIPath
值:mysite/wsgi.py
- 命名空间:aws:elasticbeanstalk:container:python
option_name: NumProcesses
值:5
- 命名空间:aws:elasticbeanstalk:container:python
option_name:线程数
值:25
- 命名空间:aws:elasticbeanstalk:container:python:staticfiles
选项名称:/静态/
值:应用程序/静态/
我想知道我应该怎么做才能强制 AWS 使用我在配置中指定的所有参数,即 WSGI 路径和我的静态数据的路径。
考虑使用记录在以下位置的 .ebextensions:
https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-containers-ec2.html
您可以根据file:需要在主机实例上配置配置文件。然后重新启动/重新加载(如果需要)command:
| 归档时间: |
|
| 查看次数: |
2388 次 |
| 最近记录: |