wordpress - 为负载均衡器(EC2)创建多个实例的正确方法

标签 wordpress amazon-web-services amazon-ec2 load-balancing

我使用 EC2 安装了 Wordpress。我通过创建镜像 (AMI) 然后在负载均衡器上添加 Wordpress1 和 Wordpress2 来创建负载均衡器。但我仍然收到数据库错误并且必须重新启动实例。如果我想创建 4 个实例作为负载均衡器,步骤是否相同?因为我在启动 AMI 时看到了“实例数”选项。默认值为 1。我不确定是否应该输入 3 或 4 以一键创建多个实例。

此外,如果我在 Wordpress1 实例上进行更新,更新是否会显示该域是否会加载 Wordpress2 实例?

最佳答案

如果您想启动多个实例和数据库等,您应该考虑使用 AWS CloudFormation。 CloudFormation 只是一个大的 json 字符串,其中包含您的环境配置,包括服务器、自动缩放、访问、向负载均衡器注册等。

参见http://aws.amazon.com/en/cloudformation/了解更多详情。

已经有一个 WordPress 示例模板,包括数据库和自动缩放组 ( example wordpress template )

但是,就像 datasage 提到的那样,您需要对 WordPress 进行调整,以使其在多服务器环境中工作。

多服务器环境的“问题”是,如果您上传文件或在您的情况下升级 WordPress,它只会发生在一台服务器上,该服务器可能随时终止。此外,升级可能包含数据库结构的变化,然后变得复杂。

如果您在云中构建某些内容,您应该始终牢记您构建的每项服务(在您的情况下,前端网络服务器和数据库都应该允许失败而不中断您的服务。

另一点是,你应该避免手工做事,自动化是关键。 需要手动将服务器链接到负载均衡器的环境在服务器不断终止、重新启动和交换的云中并不是很有用。

对于您的网络服务器,您可以使用“自动缩放组”来获得此行为。 如果您正在使用自动缩放组,并且服务器被终止或被认为不健康,则新服务器将在被认为健康后立即自动启动并注册到负载均衡器。

对于您的数据库,亚马逊提供 rds 多可用区环境,该环境提供自动故障转移。

在云中应用升级可能很棘手,并且有多种方法可以实现这一点。例如,使用带有代码库的共享 NFS 挂载、git 部署或您已经开始的方式:为每次升级创建一个新的 AMI,然后更换服务器。有很多选择,它们都有各自的优点和缺点。

据我了解您的用例,云目前可能不是正确的选择。

通常在云中托管小型企业比使用单个服务器昂贵得多。只有当您晚上需要 20 台服务器,而当天其余时间只需要 2 或 3 台服务器时,您才可以省钱。当然还有很多事情需要考虑,但那就太多了。

关于wordpress - 为负载均衡器(EC2)创建多个实例的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19097331/

相关文章:

php - 设置多语言wordpress

html - CSS - 删除垂直容器边框

amazon-web-services - Couchbase-ElasticSearch Java堆内存

linux - AWS : Adding SSH keys for my user

amazon-web-services - 使用基于地理位置的策略 v/s Cloudfront 的多区域部署

java - 403 - 列出 AWS EC2 实例上运行的服务上的对象时访问被拒绝

jquery - Zurb Foundation 顶部栏菜单无法在移动显示屏上运行

html - 如何获取 html/css 表单以发布到 Gravity Forms?

java - 无法使用 Lambda 中的 SQS

amazon-web-services - 跨帐户 Cloudformation 宏