将非常大的 Wordpress 网站迁移到 Amazon Beanstalk

将非常大的 Wordpress 网站迁移到 Amazon Beanstalk

我想迁移一个基于 Wordpress 构建的大型网站(15 GB)。我已按照此步骤操作白皮书,对于新网站或小型网站的安装/迁移,一切都按预期运行。虽然我成功地使用 MySQL Workbench 恢复了数据库。但我无法恢复我的文件(上传目录本身是 12GB),我尝试使用“Duplicator Pro”插件,但它不起作用,我使用 sFTP 将文件直接上传到 EC2 实例,但文件权限出现了很多问题。此外,我在启用 CloudFront 的情况下将文件上传到 S3 存储桶,但这也不起作用。我很迷茫,我不确定如何完成这项工作,如果有任何推荐的方法来上传文件,请帮助我。

答案1

艾比: 我对于 beanstalk 的建议是使用带有 EB CLI 的开箱即用配置。这个 GitHub 仓库将指导您完成这些步骤。它将上传您的整个 wordpress 安装。

上传文件夹大小: 问题实际上是你的文件大小,Beanstalk 允许直接上传 512mb。如果你通过 S3 使用 CodePipeLine,则需要 2GB。对于你的情况,我会使用上升气流加。它将首先远程上传备份文件,然后在目标站点上下载它们。您可能需要先增加 php 内存 + 执行时间来处理此类负载。如果 Updraft 由于文件权限而无法解压 zip 文件,请通过 ssh 进入实例。

更新: 因此,您可以做的是,将您想要的所有内容(uploads 文件夹)以 zip 或 gzip 文件的形式上传到 S3 Bucket 并将其设置为公开。然后在您的服务器中使用 ssh,并sudo wget fileurl在该文件上运行以下载它。然后使用 解压缩它sudo unzip filename.zip。由于 updraft 拆分文件夹,我不得不多次这样做。在 sudo 命令之后,您必须再次运行sudo chown -R webapp:webapp解压缩的文件夹以确保它们具有正确的权限。

使用 sudo chown -R webapp:webapp 更改文件权限或专门针对某个文件。我使用 webapp,因为在配置中,这是运行此应用程序的组/用户。

D B: 或者对于数据库,安装 phpmyadmin 并连接你的 RDS 实例或本地 mysql 并导入你导出的 sql 文件。

结论: 我不知道您是否已经解决了这个问题,我很想知道您是如何解决的。到目前为止,我的网站一直都在 3-4 GB 左右。

答案2

复制器插件旨在提供两个文件...以及存档和安装程序。上传这些文件后,复制器会在新服务器上根据正确的凭据自行安装。您不仅可以尝试使用它来上传文件和文件夹...它还是一个一站式解决方案,还可以处理数据库。

我建议您通过他们的论坛联系复制器插件开发人员寻求帮助......他们是非常好的人。

亚马逊白皮书似乎是一个非常复杂的过程...我很想知道其中的大部分内容是否相关。我会尽量简单...它只是公共 html 目录中的文件和数据库(其余都是废话)

您没有更改 wordpress url...请阅读 wordpress 代码以了解如何移动 wordpress(保持相同的 url)。

亚马逊部分是亚马逊特有的……不是 wordpress。先让它简单运行,以后再担心奢侈的复杂性……如果亚马逊与谷歌云类似,您以后可以轻松升级您的性能要求。

最后,检查上传后哪个用户和组拥有文件的所有权,以及谁是 amazon 目录上的所有者和组。几乎可以肯定,您对文件和文件夹的用户和组所有权是错误的。

上传后,您将需要 chown user:group。

确保正确的用户:组拥有亚马逊实例上的公共 html 目录及其中的所有内容。如果 root 拥有该目录中任何内容的所有权,它无论如何都无法正常工作。我的 google 云服务器上的用户组通常是我的帐户用户或 www-data(我使用 debian 或 ubuntu)。

您使用控制面板吗?这样会更方便...我使用 ispconfig、vestacp 或 virtualmin (gpl)。Virtualmin 是这三个工具中最强大的,也是我的首选,尽管它的仪表板界面与其他两个工具相比有点杂乱。

权限应为 755 和 644。Wordpress 总是能使用这些权限。对于这种规模的网站,我怀疑您的最大文件上传大小和各种 php ini 设置将需要进行相当大的更改,因为新 LAMP 服务器上的默认设置对于使用 duplicator 安装的这种大型网站来说根本不够。幸运的是,duplicator 通常会在移动之前在原始服务器上创建初始包时告诉您需要进行哪些更改。

相关内容