将多个平台部署到Elastic Beanstalk(PHP/Python)
是否可以将多个平台部署到AWS 我有一个PHP应用程序,我也想运行一个小的python脚本 我看到PHP平台默认安装Python,但是使用将多个平台部署到Elastic Beanstalk(PHP/Python),php,python,amazon-web-services,amazon-elastic-beanstalk,Php,Python,Amazon Web Services,Amazon Elastic Beanstalk,是否可以将多个平台部署到AWS 我有一个PHP应用程序,我也想运行一个小的python脚本 我看到PHP平台默认安装Python,但是使用eb deployAWS不会选择requirements.txt并安装依赖项 我已尝试手动安装requirements.txt,当尝试安装lxml时,它会挂起。 我还尝试添加一个配置文件: option_settings: aws:elasticbeanstalk:container:python: WSGIPath: application.py
eb deploy
AWS不会选择requirements.txt
并安装依赖项
我已尝试手动安装requirements.txt
,当尝试安装lxml
时,它会挂起。
我还尝试添加一个配置文件:
option_settings:
aws:elasticbeanstalk:container:python:
WSGIPath: application.py
NumProcesses: 3
NumThreads: 20
但是现在eb deploy
抱怨:
ERROR: "option_settings" in one of the configuration files failed validation. More details to follow.
ERROR: Unknown or duplicate parameter: WSGIPath
ERROR: Unknown or duplicate parameter: NumThreads
ERROR: Unknown or duplicate parameter: NumProcesses
我相信这是因为eb
认为这只是一个PHP应用程序
并行运行多个平台的正确方式是什么 解决方法是在部署过程中使用.ebextensions在容器中运行预安装命令,这需要我可能建议通过docker容器并链接它们,以及使用EB docker平台。您可以在本地构建映像,然后将该docker文件提供给EB以构建映像。也许这可以帮助你开始;我想保持它的简单性,因为python非常小,不能证明它自己的服务器是合理的。是否有更好的方法在部署时运行安装脚本,以便在集群中的每台服务器上安装python依赖项?我熟悉通过.ebextensions添加配置文件,这些文件可以用于创建和运行shell脚本吗?要尝试将
requirements.txt
转换为.ebextensions
格式,例如包:python:python-beautifulsoup3:[]