php - AWS Elastic Beanstalk for PHP 通过 CLI 上传 ZIP off 应用程序

标签 php amazon-web-services amazon-elastic-beanstalk

我想知道是否可以通过 CLI 将我的整个应用程序的 zip 文件上传到 Elastic Beanstalk?目前我正在使用 git aws.push,但问题是我的应用程序具有我需要在部署后安装的供应商依赖项。如果我可以直接从 CLI 上传 zip,我可以让我的 jenkins 构建服务器安装所有供应商,压缩整个应用程序,然后上传到 EBS。

最佳答案

您将其标记为“Elastic Beanstalk”,因此我假设您正在尝试将您的应用程序推送到 S3,而不是 EBS。应用程序版本存储在 S3 存储桶中,然后 Beanstalk 部署脚本将 .zip 从存储桶下载到 EBS 卷,将其解压缩到 /tmp,然后将代码复制到 /变种/www/html。实际上,您从未将任何内容直接上传到 EBS 卷(好吧,我的意思是,您不应该这样做)。

如果您的依赖项是 PHP 库,只需将它们包含在您的应用程序源包中即可。但是,如果您的依赖项包括安装在 /var/www/html 以外的位置的文件(如 Apache 模块或其他二进制文件),那么不,您不能(轻松地)这样做部署期间的 Elastic Beanstalk 和 PHP。您必须通过 SSH 登录、安装您的依赖项、“刻录”实例的自定义 AMI,然后在您的 Beanstalk 环境配置中指定该自定义 AMI。

这是一个有点丑陋的解决方法,因为您现在有责任维护此自定义 AMI,而使用 Amazon 提供的库存图像意味着您可以依靠它们定期发布具有安全修复等的新版本。请记住尽管 AWS 产品开发团队的发展速度极快。就在几周前,Beanstalk 团队 introduced Puppet-like configuration scripts用于配置。这可能正是您所需要的,但遗憾的是它仅支持 Java 和 Python 环境。不过,我希望他们能尽快发布 PHP 支持,因此请密切关注。

关于php - AWS Elastic Beanstalk for PHP 通过 CLI 上传 ZIP off 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12981904/

相关文章:

django - 如何设置运行Django的AWS Elastic Beanstalk Docker平台?

PHP如何发送USR1信号进行处理?

amazon-web-services - 使用托管 UI 的 AWS Cognito 多重身份验证

php - wp_title() 返回值无法设置样式

amazon-web-services - 将文件从Docker容器写入到AWS上的主机实例

amazon-web-services - 如何在 EMR 集群中运行/安装 oozie

python - 如何在 AWS elastic beanstalk 上部署结构化 Flask 应用程序

java - 如何使用 Gmail 服务器使用 java.mail 从 Web 服务器发送电子邮件

php - Laravel、Dropzone.js、Apache 文件上传超时

javascript - 通过 PHP 参数将变量传递给 AJAX 函数