在云上进行多区域Wordpress部署

时间:2019-07-11 06:09:46

标签: wordpress amazon-web-services google-cloud-platform aws-sdk

我一直在寻找许多博客和站点来在云平台上部署Wordpress网站多区域。

我已经使用了GCP App Engine和Kubernetes,但没有发现太多。

如何从另一个区域创建数据库连接以及如何管理WordPress媒体并在区域之间同步它们。我也在寻找网站上的自动缩放。

对于数据库,我们可以使用跨区域读取副本,但是如何处理媒体数据并在不同区域的所有实例之间同步它们。

3 个答案:

答案 0 :(得分:2)

要在AWS上部署高可用性和可扩展的wordpress架构,我建议阅读本白皮书https://aws.amazon.com/blogs/architecture/wordpress-best-practices-on-aws/

多区域部署的关键是在两个区域中都有数据的副本。如果您确实考虑拥有两个数据库主数据库,这将带来很多挑战,即在何处可以进行写操作(在wordpress单词中,当您撰写帖子或客户发表评论时就发生写操作)

自2013年以来,Amazon RDS可以跨区域读取副本:https://aws.amazon.com/blogs/aws/cross-region-read-replicas-for-amazon-rds-for-mysql/

对于主-主设置,请查看Amazon Aurora全局数据库(与MySQL兼容):https://aws.amazon.com/rds/aurora/global-database/但我会严重质疑为什么,您首先要这样做。 >

[2019年7月17日更新]

我刚刚发现,Wordpress的bitnami发行版中有一个文档说明了如何将S3用于媒体文件:https://docs.bitnami.com/aws/apps/wordpress-pro/configuration/wordpress-aws-s3/

答案 1 :(得分:2)

通常,实现多云拓扑并不是一件容易的事。有Jelastic Multi-Cloud PaaS之类的特定解决方案可以帮助简化WordPress auto-scalable and highly-available clusters across multiple regions的多云部署和管理。有一个可能的多区域拓扑的示例。
Multi-Cloud Region WordPress Cluster

答案 2 :(得分:1)

即使有更好的答案,我也会发布该答案。该答案提供了有关一种特定设计的更多信息。

我已经在AWS和Google Cloud上部署了多区域WordPress。 WordPress根本不是为此设计的。除非您有足够的资金和IT人才,否则请选择一家提供分布式WordPress管理的公司。您将节省金钱和头痛。

对于最后一个项目,该公司不要求在全球范围内进行即时更新/同步,但需要可以预测的高流量负载。我们决定在每个区域使用单独的WordPress系统。我们编写了每小时运行一次的软件,以在系统之间同步WordPress内容。这涉及到同步文件系统wp-uploads目录,将静态资产移动到CDN后面的云存储中以及将内容更改复制到每个MySQL数据库。如果存在冲突,则会向管理员发送电子邮件以进行手动检查。每天运行一次软件,比较最新帖子以验证内容和服务器之间的同步。

每个区域的系统均经过负载平衡和自动缩放。该数据库分别托管在托管的MySQL服务器上。 WordPress目录托管在NFS共享上。我们将云存储+ CDN用于静态资产(css,js,图像,下载)。除了云存储,我们没有在区域之间共享资产。每个地区都是独立的。每个区域始终有至少两个运行的服务器。在预测的高峰负载(市场发布,事件等)中,我们将通过GUI单击基于时区来按比例放大/缩小每个组,以预热系统。