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

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
网络型负载均衡 NLB,每月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

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
4天前
|
Cloud Native Java 编译器
将基于x86架构平台的应用迁移到阿里云倚天实例云服务器参考
随着云计算技术的不断发展,云服务商们不断推出高性能、高可用的云服务器实例,以满足企业日益增长的计算需求。阿里云推出的倚天实例,凭借其基于ARM架构的倚天710处理器,提供了卓越的计算能力和能效比,特别适用于云原生、高性能计算等场景。然而,有的用户需要将传统基于x86平台的应用迁移到倚天实例上,本文将介绍如何将基于x86架构平台的应用迁移到阿里云倚天实例的服务器上,帮助开发者和企业用户顺利完成迁移工作,享受更高效、更经济的云服务。
将基于x86架构平台的应用迁移到阿里云倚天实例云服务器参考
|
2天前
|
编解码 前端开发 安全
通过阿里云的活动购买云服务器时如何选择实例、带宽、云盘
在我们选购阿里云服务器的过程中,不管是新用户还是老用户通常都是通过阿里云的活动去买了,一是价格更加实惠,二是活动中的云服务器配置比较丰富,足可以满足大部分用户的需求,但是面对琳琅满目的云服务器实例、带宽和云盘选项,如何选择更适合自己,成为许多用户比较关注的问题。本文将介绍如何在阿里云的活动中选择合适的云服务器实例、带宽和云盘,以供参考和选择。
通过阿里云的活动购买云服务器时如何选择实例、带宽、云盘
|
1天前
|
机器学习/深度学习 存储 人工智能
阿里云GPU云服务器实例规格gn6v、gn7i、gn6i实例性能及区别和选择参考
阿里云的GPU云服务器产品线在深度学习、科学计算、图形渲染等多个领域展现出强大的计算能力和广泛的应用价值。本文将详细介绍阿里云GPU云服务器中的gn6v、gn7i、gn6i三个实例规格族的性能特点、区别及选择参考,帮助用户根据自身需求选择合适的GPU云服务器实例。
阿里云GPU云服务器实例规格gn6v、gn7i、gn6i实例性能及区别和选择参考
|
3天前
|
弹性计算
阿里云美国服务器需要备案吗?必看!
阿里云美国服务器无需ICP备案,适用于希望避开备案流程的用户。不同于中国大陆地区服务器,美国服务器及中国香港服务器均无需备案。用户可直接解析域名使用。阿里云提供美国云服务器ECS与轻量应用服务器两种选择,分别满足不同需求
42 9
|
5天前
|
网络安全 开发工具 云计算
服务器看代码阿里云
随着云计算技术的发展,阿里云作为国内领先的云计算服务提供商,其服务器受到广大用户青睐。本文主要介绍如何在阿里云服务器上便捷地查看与管理代码,如使用SSH连接服务器并通过命令行工具打开文件,以及利用Git进行版本控制和协作开发,提高代码管理效率。无论个人开发者还是企业团队,都能借助阿里云服务器高效地部署与管理应用程序,提升工作效率及产品质量。
35 10
|
2天前
|
存储 数据挖掘 Linux
服务器数据恢复—Linux操作系统网站服务器数据恢复案例
服务器数据恢复环境: 一台linux操作系统服务器上跑了几十个网站,服务器上只有一块SATA硬盘。 服务器故障: 服务器突然宕机,尝试再次启动失败。将硬盘拆下检测,发现存在坏扇区
|
弹性计算 Linux Shell
阿里云ECS续领
计算机小白第一次使用云服务器
阿里云ECS续领
|
弹性计算 NoSQL Java
阿里云续领ecs
通过阿里云的高校计划,我掌握了linux的一些基本命令,搭建了个人的博客
|
29天前
|
机器学习/深度学习 编解码 人工智能
阿里云gpu云服务器租用价格:最新收费标准与活动价格及热门实例解析
随着人工智能、大数据和深度学习等领域的快速发展,GPU服务器的需求日益增长。阿里云的GPU服务器凭借强大的计算能力和灵活的资源配置,成为众多用户的首选。很多用户比较关心gpu云服务器的收费标准与活动价格情况,目前计算型gn6v实例云服务器一周价格为2138.27元/1周起,月付价格为3830.00元/1个月起;计算型gn7i实例云服务器一周价格为1793.30元/1周起,月付价格为3213.99元/1个月起;计算型 gn6i实例云服务器一周价格为942.11元/1周起,月付价格为1694.00元/1个月起。本文为大家整理汇总了gpu云服务器的最新收费标准与活动价格情况,以供参考。
阿里云gpu云服务器租用价格:最新收费标准与活动价格及热门实例解析
|
11天前
|
存储 弹性计算 运维
阿里云日常运维-购买服务器
这篇文章是关于如何在阿里云购买和配置云服务器ECS的教程。
46 6
阿里云日常运维-购买服务器