负载平衡wordpress站点

7y4bm7vi  于 2023-02-07  发布在  WordPress
关注(0)|答案(1)|浏览(150)

我想有一个可扩展的基础设施为我的wordpress网站。我们目前有以下:

  • 为网站提供服务的云前端
  • 负载平衡器和其中只有一个注册目标的目标组
  • 一个RDS。
  • WP服务器(配置和WP内容所在的服务器)。

wordpress示例中有数千个页面,有时候我们需要做一些改变,使cloudfront中的缓存失效以提供新的内容。在大量页面上这样做会给服务器带来巨大的负载,使其无法访问或超级慢。所以我们考虑添加一个自动缩放组,如果负载太高,它会启动新的示例,必要时会删除。
要做到这一点,我相信我们需要把wp-content文件夹移动到一个共享目录(在所有服务器之间)。首先,这是一个正确的假设吗?所以我自然地创建了一个EFS,我把它安装在我的wordpress服务器的副本上,然后rsync在efs中有权限的所有文件。然后,正如网上所有人建议的那样,我在我的wp-config.php中添加了以下内容:define('WP_CONTENT_DIR', '/mnt/efs/wp-content');其中/mnt/efs/wp-content是efs上的目录。从这一点上,网站按预期工作,我可以看到一些流量在EFS监控页面查看页面时。
为了确保所有的文件都能在wp-content中正确的共享和复制,我删除了/data/app/wp-content/文件夹(它不应该被使用,因为我引用了我的efs中的wp-content)。我的网站开始变得奇怪。一些格式消失了,按钮是本地的,没有自定义等等。控制台显示了很多404,还有以下错误:

www.mysite.eu/:1 Access to font at 'https://www.mysite.fr/wp-content/themes/mysite/dist/fonts/icomoon/icomoon.ttf' from origin 'https://www.mysite.eu' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

GET https://www.mysite.fr/wp-content/plugins/js_composer/assets/lib/bower/font-awesome/webfonts/fa-solid-900.woff net::ERR_FAILED 200

看起来没有字体,没有插件,没有主题了。所以,有很多问题:

  • 我需要同时保留本地和共享的wp内容吗?如果是这样,如果我安装了插件或主题,其他服务器也可以使用吗?
  • 我真的需要EFS吗?或者数据完全存储在DB中,并且wp内容可以在每个服务器上独立存在?
  • 移动wp-content文件夹还有其他步骤吗?也许是一些插件的特定步骤?
  • 我的体系结构是否缺少我想要实现的东西(根据需求向上和向下扩展),或者这有意义吗?

谢谢大家!

shyt4zoc

shyt4zoc1#

不要把wp_content放到共享文件系统(s3 bucket)中,它包含了大量的主题和插件代码,从s3运行代码可能会导致性能问题和IOPS成本增加,相反,使用插件将网站上传的媒体文件(jpg等)卸载到s3 bucket中,然后克隆网站。
如果可以,请使用共享持久对象缓存。Redis是个不错的选择。
AWS在Lightsail. https://aws.amazon.com/getting-started/hands-on/launch-load-balanced-wordpress-website/上提供了一个教程,介绍如何在不该高速缓存的情况下执行此操作

相关问题