利用阿里云搭建WordPress网站 – 服务器横向扩展

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
公网NAT网关,每月750个小时 15CU
应用型负载均衡 ALB,每月750个小时 15LCU
简介: WordPress是一种非常流行的博客网站平台,也可以当作一个内容管理系统(CMS)来使用, 是世界上使用最广泛的博客系统之一。WordPress有非常多优秀的插件,使得这个开源产品变得非常容易扩展,满足不同的需求。

WordPress是一种非常流行的博客网站平台,也可以当作一个内容管理系统(CMS)来使用, 是世界上使用最广泛的博客系统之一。WordPress有非常多优秀的插件,使得这个开源产品变得非常容易扩展,满足不同的需求。
我准备利用一个系列的文章,来展示如果利用阿里云的各种产品(弹性计算,数据库,安全等等),搭建一个完整的WordPress网站。内容包括:

五、服务器横向扩展

针对数据库增加了缓存和只读实例这些配套组件之后,在很长一段时间之内,网站都不再会因为数据库性能出现问题(毕竟网站读多写少,业务场景比较单一),随着业务持续增加压力会出现在应用服务器上。应用服务器的扩展可以是纵向的(升级规格),也可以是横向的(增加服务器进行并行处理),在这篇文章中,我们会演示如何利用镜像进行ECS的横向扩展。为了进行横向扩展,首先需要复制ECS镜像(这当然要求应用是无状态的),并在前端增加SLB负载均衡。除此之外,当ECS数量逐渐增加之后,为了运维方便,往往可以增加一个NAT网关来作为统一的公网运维出入口,如果对安全性特别高的情况,甚至需要通过增加VPN+堡垒机的方式来进行包含鉴权和审计的运维活动。
这个部分的架构图如下,基于上一个版本增加了:

  • SLB负载均衡:对多台ECS进行流量分发,从而扩展应用系统对外的服务能力,避免单点故障
  • NAT网关:在 VPC 环境下构建一个公网流量的出入口,为多ECS提供访问公网的出口(SNAT)或统一运维入口(DNAT)
    1

利用镜像新建一台ECS

横向扩展的前提是无状态应用,文件和数据库都应该独立出来存放。前面配置的NAS和MySQL都是独立的,已经具备横向扩展的条件。横向扩展的方式是复制多个无状态的ECS实例。做法是首先打个ECS快照(https://help.aliyun.com/document_detail/25455.html)。说到ECS快照,为了保证业务数据安全,一般的系统应该进行每日快照并最少保存过去7天的快照数据。“快照不规范,亲人两行泪!”
2

快照创建好了之后,再利用这个快照创建一个自定义镜像(https://help.aliyun.com/document_detail/25460.html)。注意快照和镜像的区别,快照主要是用于数据备份,只能恢复到当前ECS实例,不可跨地域使用;镜像主要是用于数据迁移,可以更换系统盘或创建新的ECS实例,可以跨地域使用。
3

有了镜像,就可以再复制出一个新的ECS来。创建ECS的时候要注意VPC应该和老ECS的VPC一致,才能保证内网互通。另外考虑到高可用,可以把新ECS放在另外一个可用区中,即使有其中一个区的ECS宕机,还有另一个区的ECS可以用。另外,跨可用区高可用的部署要注意“雪崩效应”,即两台ECS的负载都大于50%的情况下,当一台因故宕机后,另一台也会由于过载的原因而宕机,导致高可用失效。因此,两台ECS高可用,平均负载不应超过50%;三台ECS高可用,平均负载不应超过66%;四台ECS高可用,平均负载不应超过75%;以及类推。
4
5
6
7
8

为了让新的ECS可以访问RDS和Redis,需要将其内网IP加入到RDS和Redis的白名单中,这个操作可以参考前两篇(“搭建基础网站应用”和“数据库缓存和管理”)中的设置方法,而NAS和OSS则没有这个安全要求。所有的对应的连接配置也都已经被打包进了镜像当中,一般来说无需再进行配置。
9
10

然后我们把之前绑在旧ECS上的EIP解绑,然后绑到新ECS上面试试看。由于是通过镜像复制出来的新ECS,连接的数据库是原有的,所以理论上应该和访问旧ECS应该没有什么区别。
11
12
13

绑定好之后,访问网页试试,正常应该可以成功。如果发现又到了WordPress的配置页,这表示之前配置文件没有正确加载。这个问题很可能是因为NAS加载因为某种问题失败了,可以重启一次新ECS再试试。
14

用SLB做负载均衡

有了多台ECS,为了保证流量均衡分配到多台ECS上,需要在ECS集群前面增加SLB负载均衡(https://www.aliyun.com/product/slb),这和自己用Nginx搭负载均衡类似,而优势在于能够快速搭建起一主一备的高可用架构,并且运维起来也更方便些。创建SLB的时候要注意使用私网类型,这样才能继续绑定使用之前的EIP,使得对外IP保持不变。另外还要注意使用之前创建的VPC,保证其与后端ECS的内网连通。
15

创建成功之后,开始配置后端服务器,将前面的新旧两台ECS接入。
16

前端继续监听HTTP协议,并且仍旧继续使用80端口,使得在横向扩展过程中,不影响业务的对外展现。SLB的调度算法有三种:轮询、加权轮询(WRR)、加权最小连接数(WLC),在后端服务器的处理能力不同的情况下,一般采用加权算法。在此例中,两台后端ECS设置了相同的权重,效果和轮询一样。另外WordPress需要打开保持会话功能,负载均衡监听会把来自同一客户端的访问请求分发到同一台后端ECS上。
17
18

设置完成之后,把绑在新ECS上的EIP解绑,然后绑到SLB上面来。
19

最后从前端页面试试,访问正常。在SLB的控制台上也应该可以看到相应的流量,妥!
20

NAT网关做维护口

SLB+EIP作为用户出入的“正门”没有问题,但是无法供运维人员使用来对ECS进行运维,包括SSH(或者RDP)和外网下载等。为了对ECS集群进行运维,要么给每个ECS都绑一个EIP,要么利用NAT网关(https://www.aliyun.com/product/nat)作为运维的出入口。第一种方法安全性较低,也不太容易管理,所以一般都会采用NAT网关的方案,利用DNAT提供SSH(或者RDP)端口映射供运维人员远程控制,利用SNAT提供外网下载的能力。另外,由于NAT网关没有鉴权能力,如果需要更安全的运维方式,还应该利用堡垒机(https://www.aliyun.com/product/bastionhost)来代替NAT网关的DNAT功能。
首先需要购买一个NAT网关和两个EIP(一个供DNAT使用,一个供SNAT使用),然后把EIP绑定到NAT上。
21
22

然后配置DNAT,将后端ECS的22端口(SSH)映射到外网来(本例用了10221和10222端口来分别对应旧新两台ECS的22端口)。
23
24
25

从外网试试利用映射端口10221来控制旧ECS,没问题。
26
27

再来配置SNAT,这个很简单,只需要绑定到相应的交换机上就好了。
28
29
30

利用刚刚的SSH试试从ECS进行下载,毫无压力。
31

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
10天前
|
机器学习/深度学习 人工智能 弹性计算
什么是阿里云GPU云服务器?GPU服务器优势、使用和租赁费用整理
阿里云GPU云服务器提供强大的GPU算力,适用于深度学习、科学计算、图形可视化和视频处理等多种场景。作为亚太领先的云服务提供商,阿里云的GPU云服务器具备灵活的资源配置、高安全性和易用性,支持多种计费模式,帮助企业高效应对计算密集型任务。
|
12天前
|
存储 分布式计算 固态存储
阿里云2核16G、4核32G、8核64G配置云服务器租用收费标准与活动价格参考
2核16G、8核64G、4核32G配置的云服务器处理器与内存比为1:8,这种配比的云服务器一般适用于数据分析与挖掘,Hadoop、Spark集群和数据库,缓存等内存密集型场景,因此,多为企业级用户选择。目前2核16G配置按量收费最低收费标准为0.54元/小时,按月租用标准收费标准为260.44元/1个月。4核32G配置的阿里云服务器按量收费标准最低为1.08元/小时,按月租用标准收费标准为520.88元/1个月。8核64G配置的阿里云服务器按量收费标准最低为2.17元/小时,按月租用标准收费标准为1041.77元/1个月。本文介绍这些配置的最新租用收费标准与活动价格情况,以供参考。
|
10天前
|
机器学习/深度学习 人工智能 弹性计算
阿里云GPU服务器全解析_GPU价格收费标准_GPU优势和使用说明
阿里云GPU云服务器提供强大的GPU算力,适用于深度学习、科学计算、图形可视化和视频处理等场景。作为亚太领先的云服务商,阿里云GPU云服务器具备高灵活性、易用性、容灾备份、安全性和成本效益,支持多种实例规格,满足不同业务需求。
|
18天前
|
弹性计算
阿里云2核16G服务器多少钱一年?亲测价格查询1个月和1小时收费标准
阿里云2核16G服务器提供多种ECS实例规格,内存型r8i实例1年6折优惠价为1901元,按月收费334.19元,按小时收费0.696221元。更多规格及详细报价请访问阿里云ECS页面。
55 9
|
14天前
|
监控 Ubuntu Linux
使用VSCode通过SSH远程登录阿里云Linux服务器异常崩溃
通过 VSCode 的 Remote - SSH 插件远程连接阿里云 Ubuntu 22 服务器时,会因高 CPU 使用率导致连接断开。经排查发现,VSCode 连接根目录 ".." 时会频繁调用"rg"(ripgrep)进行文件搜索,导致 CPU 负载过高。解决方法是将连接目录改为"root"(或其他具体的路径),避免不必要的文件检索,从而恢复正常连接。
|
18天前
|
弹性计算 异构计算
2024年阿里云GPU服务器多少钱1小时?亲测价格查询方法
2024年阿里云GPU服务器每小时收费因实例规格不同而异。可通过阿里云GPU服务器页面选择“按量付费”查看具体价格。例如,NVIDIA A100的gn7e实例为34.742元/小时,NVIDIA A10的gn7i实例为12.710156元/小时。更多详情请访问阿里云官网。
61 2
|
23天前
|
存储 弹性计算 NoSQL
"从入门到实践,全方位解析云服务器ECS的秘密——手把手教你轻松驾驭阿里云的强大计算力!"
【10月更文挑战第23天】云服务器ECS(Elastic Compute Service)是阿里云提供的基础云计算服务,允许用户在云端租用和管理虚拟服务器。ECS具有弹性伸缩、按需付费、简单易用等特点,适用于网站托管、数据库部署、大数据分析等多种场景。本文介绍ECS的基本概念、使用场景及快速上手指南。
67 3
|
29天前
|
存储 弹性计算 编解码
通过阿里云的活动租赁云服务器时如何选择实例规格?选择指南参考
新手用户通过阿里云的活动租赁云服务器的时候实例规格应该怎么选?目前在阿里云的活动中,可选的云服务器类型除了轻量应用服务器之外,云服务器的主要实例规格有经济型e、通用算力型u1和计算型c7与c8y、通用型g7与g8y、内存型r7与r8y等实例,但是对于新手来说,由于是初次购买,实例规格往往不知道怎么选择了。本文为大家展示阿里云目前活动中各云服务器实例规格性能、适用场景以及选择指南参考。
|
1月前
|
弹性计算 开发框架 .NET
阿里云服务器购买教程及云服务器地域、实例、操作系统、带宽等参数选择指南
对于初次购买阿里云服务器的用户来说,想使用阿里云服务器搭建网站或者运行APP、小程序等项目,第一步就是要先购买阿里云服务器,下面小编以图文形式给大家介绍一下阿里云服务器的购买流程,以及购买过程中如何云服务器地域、实例、带宽等关键配置和选择这些参数的一些注意事项,以供参考。
|
15天前
|
弹性计算
阿里云2核16G云服务器多少钱?亲测ECS内存型r8i租赁价格
阿里云2核16G云服务器,内存型r8i实例1年6折优惠后价格为1901元,月付334.19元,按小时计费0.696221元。更多配置及优惠详情,请访问阿里云ECS页面。
下一篇
无影云桌面