【问题标题】:How to preserve themes/plugins when autoscaling Wordpress instances自动缩放 Wordpress 实例时如何保留主题/插件
【发布时间】:2016-10-31 04:43:24
【问题描述】:

如果这是一个明显的问题,请原谅我,但我正在尝试找出处理运行 WordPress 的 EC2 实例的自动缩放的最佳方法,以便它们的 主题插件 (连同它们的相关配置)被保留。

我已经能够分别通过 RDS 和 S3 分离数据层和内容层,但我正在努力如何通过 EC2 实例自动缩放事件来保留主题和插件。

我的 EC2 实例配置如下:

  • EC2 引导脚本将 WordPress 安装到空白的 Amazon Linux AMI
  • EC2 在 ELB 后面运行
  • 数据库在 RDS 上
  • Web 内容在 S3 上(使用 W3 Total Cache 插件)
  • 插件/主题安装在本地 EC2 文件系统上

要通过 EC2 自动缩放事件保留主题和/或插件,我可以:

  1. 先安装我需要的主题/插件,然后上传/wp-content/plugins和/wp-content/themes目录到S3,每次EC2实例自动下载通过引导脚本重新启动。缺点:每次我进行配置更改时都需要更新 S3,并非所有插件都整齐地安装在 /themes 子目录中,并且对一个实例的更改不会流向所有实例(每次进行更改时都需要重新启动集群)。

  2. 首先安装我需要的主题/插件,然后拍摄整个实例的 AMI 快照。启动新实例时使用此 AMI 作为模板。缺点:每次我进行配置更改时都需要更新 AMI(看起来很烦人),并且对一个实例的更改不会流向所有人。

  3. 从 /wp-content/plugins 和 /wp-content/themes 目录创建一个符号链接,指向安装在所有 EC2 实例上的 EFS 文件系统。缺点:EFS 可能有点慢,并非所有插件都完全安装在 /themes 子目录中。

有人有这方面的经验吗?我是否过度设计了这个?也许主题/插件文件在您的 WordPress 博客的整个生命周期中并没有真正改变太多(即,一旦设置好,您并没有真正发现自己改变太多),在这种情况下可能是选项 1(压缩到S3 和通过引导脚本下载)对我来说是最好的选择,而选项 3(EFS)是过度设计的。

如果您有解决这个难题的经验,我很乐意听取您的意见!

提前致谢!

【问题讨论】:

    标签: wordpress amazon-web-services autoscaling


    【解决方案1】:

    你可以看看这个链接:

    https://cloudonaut.io/wordpress-on-aws-smooth-and-pain-free/

    它提供了一个 CloudFormation 模板,该模板设置由 EFS 支持的 ASG,在那里安装 wordpress 和一些插件,将 RDS 用于他们的数据库,将 CloudFront 设置为 CDN 和其他一些好东西。

    我为我们的用例调整了他们的模板,并添加了一个带有 Spot 实例的额外 ASG,用对我的 VPC 模板的引用替换了所有 VPC 内容,并调整了 LaunchConfig,以便它使用在我的模板。它还会自动为 ELB 和其他一些好东西设置证书。

    我认为这将是结束,我将能够忘记 WordPress,让另一个团队继续工作。错误的。他们抱怨它感觉迟钝,并且一些插件因超时而无法安装(并且使用 wp-cli 手动安装它们花费的时间太长,其中一个长达 2 分半钟)。

    所以我的 2 美分:设置 RDS 和 CloudFront,为 wordpress 使用预留实例,并使用插件将静态资产卸载到 S3。站点完全设置好后,烘焙一个 AMI 或拍摄您的 EBS 快照并设置警报,以便在实例发生故障时您可以使用您的 AMI/快照快速启动一个新实例。

    或者让您的开发团队从开发环境中烘焙 AMI,以便您可以使用这些在生产环境中设置 ASG。

    我认为,如果没有开发团队的支持,尝试在 ASG 中为非开发团队设置 WordPress(意思是,他们可以从浏览器安装/上传插件和主题)简直是疯了(烘焙 AMI,更新堆栈)。当然,您可以自动化所有这些。当然,您可以使用其他任何东西开发一个全新的站点。您的来电。

    /咆哮

    【讨论】:

      猜你喜欢
      • 2017-03-15
      • 2023-03-15
      • 1970-01-01
      • 1970-01-01
      • 2019-10-09
      • 1970-01-01
      • 1970-01-01
      • 2011-06-21
      • 2012-06-19
      相关资源
      最近更新 更多