是否可以使用负载平衡和自动缩放在 aws ec2 中创建 wordpress 站点
is it possible to create a wordpress site in aws ec2 using load balancing and auto scaling
我在 AWS EC2 中创建了一个 WordPress 站点。它工作正常,我可以登录到我的仪表板,然后我创建了一个负载均衡器。我将 wp_options 中的 SiteUrl 更改为负载均衡器的 dns。
我创建了那个实例的图像。现在我用那个图像创建了一个自动缩放组。我可以使用负载均衡器 dns 访问我的站点,但我无法使用 dns 登录我的仪表板。当我输入 dns/site/wp-admin 它说:
wp-login.php was not Found on this server
。
我不知道这是什么问题。请帮助我。
编辑:为什么这不起作用,因为考虑到您制作了一个实例图像,这意味着它现在有两个数据库(假设您没有使用 RDS)和两个服务器有两组不同的文件和数据库。这不应该是这种情况,这可能是它不起作用的原因。
您采用了错误的方法,如果您以这种方式设计站点,则可以利用 Auto Scaling 和 Load Balancing。
这可能是一个很长的答案,但我希望它能澄清您对它的工作原理或它在 AWS 上的理想工作方式的低估
无状态服务器
无状态服务器是在 AWS 上构建高度可用和可扩展的基础设施的先决条件。无状态服务器不存储临时数据(如缓存)以外的任何数据。
默认情况下,WordPress 以两种不同的方式存储数据:
MySQL 数据库:文章、评论、用户和部分
配置存储在 MySQL 数据库中。
文件系统:作者上传的媒体文件存放在
文件系统.
If the MySQL database is running on the same EC2 instance as the
WordPress application itself, the server is not stateless. Same is
true for the media files stored on the file system.
为什么这是个问题?因为如果虚拟机不可用,数据也将不可用。如果您需要添加另一个 EC2 实例来处理更多流量,则所有数据都将在附加服务器上丢失
您需要使用的组件是:
- RDS:托管 MySQL 数据库
- S3:媒体文件存储
- ELB:同步解耦
- 根据使用情况自动缩放
您可以参考这个示例架构作为参考:
你也可以参考这个Blog Post or can use this CloudFormation Template。
我在 AWS EC2 中创建了一个 WordPress 站点。它工作正常,我可以登录到我的仪表板,然后我创建了一个负载均衡器。我将 wp_options 中的 SiteUrl 更改为负载均衡器的 dns。
我创建了那个实例的图像。现在我用那个图像创建了一个自动缩放组。我可以使用负载均衡器 dns 访问我的站点,但我无法使用 dns 登录我的仪表板。当我输入 dns/site/wp-admin 它说:
wp-login.php was not Found on this server
。
我不知道这是什么问题。请帮助我。
编辑:为什么这不起作用,因为考虑到您制作了一个实例图像,这意味着它现在有两个数据库(假设您没有使用 RDS)和两个服务器有两组不同的文件和数据库。这不应该是这种情况,这可能是它不起作用的原因。
您采用了错误的方法,如果您以这种方式设计站点,则可以利用 Auto Scaling 和 Load Balancing。
这可能是一个很长的答案,但我希望它能澄清您对它的工作原理或它在 AWS 上的理想工作方式的低估
无状态服务器
无状态服务器是在 AWS 上构建高度可用和可扩展的基础设施的先决条件。无状态服务器不存储临时数据(如缓存)以外的任何数据。
默认情况下,WordPress 以两种不同的方式存储数据:
MySQL 数据库:文章、评论、用户和部分 配置存储在 MySQL 数据库中。
文件系统:作者上传的媒体文件存放在 文件系统.
If the MySQL database is running on the same EC2 instance as the WordPress application itself, the server is not stateless. Same is true for the media files stored on the file system.
为什么这是个问题?因为如果虚拟机不可用,数据也将不可用。如果您需要添加另一个 EC2 实例来处理更多流量,则所有数据都将在附加服务器上丢失
您需要使用的组件是:
- RDS:托管 MySQL 数据库
- S3:媒体文件存储
- ELB:同步解耦
- 根据使用情况自动缩放
您可以参考这个示例架构作为参考:
你也可以参考这个Blog Post or can use this CloudFormation Template。