我使用 EC2 安装了 Wordpress。我通过创建图像 (AMI) 然后在负载均衡器上添加 Wordpress1 和 Wordpress2 来创建负载均衡器。但是我仍然遇到数据库错误并且必须重新启动实例。如果我想制作 4 个实例作为负载均衡器,步骤是否相同?因为我在启动 AMI 时看到了“实例数”选项。默认值为 1。我不确定是否应该输入 3 或 4 以一键创建多个实例。
另外,如果我在 Wordpress1 实例上更新,更新是否会显示域是否会加载 Wordpress2 实例?
我使用 EC2 安装了 Wordpress。我通过创建图像 (AMI) 然后在负载均衡器上添加 Wordpress1 和 Wordpress2 来创建负载均衡器。但是我仍然遇到数据库错误并且必须重新启动实例。如果我想制作 4 个实例作为负载均衡器,步骤是否相同?因为我在启动 AMI 时看到了“实例数”选项。默认值为 1。我不确定是否应该输入 3 或 4 以一键创建多个实例。
另外,如果我在 Wordpress1 实例上更新,更新是否会显示域是否会加载 Wordpress2 实例?
如果你想启动多个实例和一个数据库等,你应该考虑使用 AWS CloudFormation。CloudFormation 只是一个包含环境配置的大 json 字符串,包括服务器、自动缩放、访问、向负载均衡器注册等。
有关更多详细信息,请参阅http://aws.amazon.com/en/cloudformation/。
已经有一个用于 wordpress 的示例模板,包括数据库和自动缩放组(示例 wordpress 模板)
但是,就像提到的 datasage 一样,您需要对 wordpress 进行调整以使其在多服务器环境中工作。
多服务器环境的“问题”是,如果您上传文件或在您的情况下升级 wordpress,它只会发生在一台服务器上,并且可能随时终止。此外,升级可能包含数据库结构的更改,然后变得复杂。
如果您在云中构建某些东西,您应该始终牢记您构建的每项服务,在您的情况下,应该允许前端 Web 服务器和数据库发生故障而不会中断您的服务。
另一点是,您应该避免手工操作,自动化是关键。需要手动将服务器链接到负载均衡器的环境在服务器不断终止、重新启动和交换的云中不是很有用。
对于您的网络服务器,您可以使用“自动缩放组”来获得这种行为。如果您正在使用自动缩放组并且服务器被终止或被认为不健康,那么新的服务器将自动启动并在被认为是健康的时立即向负载均衡器注册。
对于您的数据库,亚马逊提供了 rds 多可用区环境,可提供自动故障转移。
在云中应用升级可能很棘手,并且有不同的方法可以做到这一点。例如,使用带有代码库的共享 NFS 挂载、git 部署或您已经开始的方式:为每次升级创建一个新的 AMI,然后更换服务器。有很多选择,它们都有其优点和缺点。
据我了解您的用例,云目前可能不是正确的选择。
通常,在云中托管小型企业比使用单个服务器要贵得多。如果您在晚上需要 20 台服务器,而其他时间只需要 2 或 3 台服务器,您只会省钱。当然还有很多需要考虑的点,但那就太多了。
ec2 中的自动缩放是水平缩放。这意味着随着您的基础设施扩展,实例会被添加。这与为单个实例提供更多资源的垂直扩展形成对比。
为了有效地使用它,每个实例都不能存储其他实例可能需要的数据。最常见的要求是数据库需要存在于自动缩放实例之外的自己的实例上。您可以为此使用 RDS。
Wordpress 还将文件上传、插件和主题存储在 wordpress 安装中的 wp-content 文件夹中。默认情况下,如果您上传文件,它将存储在一个实例上,但不会存储在其他任何实例上。您可以将所有内容存储在由其中一个实例共享的 NFS 卷上,或者您可以尝试这样的插件:http ://wordpress.org/plugins/wp2cloud-wordpress-to-cloud/