【问题标题】:Trouble with Wordpress local development and deploymentsWordpress 本地开发和部署的问题
【发布时间】:2015-04-01 22:00:50
【问题描述】:

设置:

我正在使用来自 Amazon Web Services 的 Elastic Beanstalk 设置一个由 Wordpress 提供支持的应用程序。所有开发都在 MAMP apache2/php5 服务器环境下本地完成,GIT 存储库控制整个应用程序根目录。

部署工作流程:

在将任何代码更改(编辑、新插件等)提交到存储库后,应用程序将使用 AWS EB CLI 的 eb deploy 命令部署,该命令将最新版本推送到由 Elastic Beanstalk 管理的任何正在运行的 EC2 实例。

我的问题:

有时代码更改在我的开发/生产环境之间并不完全同步,我不知道如何克服它。尤其是在尝试安装和设置 W3 Total Cache 或 WP Super Cache 等插件时。

由于我的本地环境没有安装 memcahced 服务器之类的东西,但我的生产环境有 (ElastiCache),我无法保存正确的设置文件并将其部署到我的生产环境中使用。这些插件不允许我选择所需的服务,因为它认为它们不可用...

似乎只有将 W3 Total Cache 直接安装到实时生产环境中才能正常工作,这似乎是个坏主意。

鉴于上述情况:

  • 我是否以错误的方式进行部署?

  • 是否应该安装和配置像 W3 Total Cache 这样的插件 本地开发环境并推送到生产环境?

【问题讨论】:

  • 这里的问题到底是什么?什么不起作用?
  • @tal 我只是为了更清楚起见而分离了这些问题。

标签: wordpress amazon-web-services deployment amazon-elastic-beanstalk w3-total-cache


【解决方案1】:

我无法评论 Elastic Beanstalk 特有的问题,但根据经验,我可以对您的问题陈述的第二部分提出建议:

您最好运行一个尽可能接近您的生产环境的开发环境。我建议你从 MAMP 转换到像 VirtualBox 这样的 VM 环境。您可能需要查看 puphpet.com 以获取有关设置的帮助。它需要一些启动工作,但会为您提供与生产服务器相似或相同的环境。例如,您可以自己运行 memcached,这样您就可以使用 W3 Total Cache 对其进行实际测试。

至于您的第二个问题,仅在生产环境中安装插件而不事先对其进行测试具有明显的风险(但客户总是这样做)。我宁愿先测试。在某种程度上,这可能取决于网站是否出现停机或异常情况的严重程度。

【讨论】:

  • 感谢您的帮助。实际上,我遇到了 Vagrant 作为 MAMP 的替代品,并在昨天开始使用它。看起来要让开发环境与 AWS Elastic Beanstalk 的旋转相匹配需要做一些工作,但你是对的,VM 是要走的路。
  • 是的,Vagrant 很有帮助。我还是建议你看看 phppet。它本质上是 Vagrant 的前端。它允许你选择一堆选项,然后创建 Vagrant 配置文件,以便“vagrant up”做你想要的。我相信Beanstalk甚至是由puphpet处理的。
【解决方案2】:

我建议您在 Beanstalk 上创建另一个环境。 在您的情况下,它比 VM 更简单、快速且更可靠,因为它还允许您测试部署过程。

我通常为每个网站提供 3 个环境。每个环境都在自己的分支上。如果环境之间的配置不同(例如 url 和数据库访问),只需将 wp-config 和其他配置文件存储到 S3 中(您可能不希望在 git 存储库中使用生产密码),然后通过 ebextensions 将它们下载到您的网站自动。

我在 16 个网站上使用 AWS Beanstalk,其中一些是 wordpress 网站。所有这些都具有自动缩放功能,并且能够同时获得数千名用户。

请随时向我询问更多详情。

【讨论】:

    猜你喜欢
    • 2021-11-17
    • 2011-02-23
    • 2011-04-09
    • 2020-12-14
    • 2012-01-17
    • 1970-01-01
    • 2010-12-28
    • 2021-10-01
    • 2016-10-12
    相关资源
    最近更新 更多