AWS - 创建一个高可用的WordPress 博客 (二)

AWS - 创建一个高可用的WordPress 博客 (二),第1张

AWS-创建一个高可用的WordPress博客(二)

上一篇文章简要介绍了高可用性wordpress的设计结构。这个设计会涉及到VPC、EC2、ELB、RDS、S3、CloudFront、AutoScaling、IAM、CloudWatch等核心服务,对于理解各个部分的功能是一个很好的练习。


现在开始具体配置。Beans会配置一个Ubuntu14的WordPress。服务器和MySQL数据库都具有高可用的功能,现有实例可以根据CPU负载自动添加或删除。的具体配置包括以下步骤:


  • 创建基本网络和防火墙

  • 配置高可用性MySQL

    创建一个Ubuntu14的实例

    Ubuntu安装灯堆栈

    配置S3和CloudFrontCDN

    配置Ubuntu虚拟主机

    配置路由53DNS

    测试通过后,配置为AMI镜像。

    配置ELB

    配置自动缩放

    测试



    首先,我们需要配置一个基本的VPC网络和IAM角色。


    在之前的博客中,我已经创建了一个IAM角色ec2-s3,默认情况下,它允许相关的虚拟机访问s3存储桶。


    如下所示:



    接下来,创建一个新的VPC网络。



    创建2个子网,每个子网位于不同的AZ。


    创建互联网网关

    配置路由表




    创建新的安全组并配置允许访问的端口。


    准备工作差不多完成了。让我们首先创建一个高度可用的MySql实例。




    单击RDS。


    选择多AZ部署。

    bean账号所在的悉尼地区还不能创建微级多实例,亚马逊强迫我用更贵的实例好吗?


    把级别改成小就行了。

    直接选择默认VPC


    已成功创建。

    正在创建,完成配置大约需要10分钟。


    至此,基本的数据库和网络结构已经建立。接下来,让我们设置一个虚拟机来测试它。


    具体的EC2加载和油灰连接过程就省略了,这是最基本的 *** 作。


    Beans加载了Unbuntu14的EC2实例,并在Putty连接之后。


    首先安装相关的灯组。

    必须安装AWS命令行。

    测试安装是否成功。

    如果没有配置IAM的角色,如果要访问S3,只能通过awsconfigure输入密钥。


    接下来下载并安装wordpress。


    解压

    修改配置文件

    数据库的名称、用户名、密码和地址(在此输入MySql实例的端点)

    然后把整个文件夹复制到apache/var/www/wordpress的根目录下。


    修改访问权限以确保用户可以访问


    然后配置虚拟主机文件。Ubuntu14中的默认文件是000-default.conf复制它并将其重命名为wordpress.confg


    修改内容


    添加域名和根目录


    重新加载此配置文件。

    重启apache


    然后通过aws命令将对应的wordpress文件夹和虚拟主机的配置文件备份到S3进行存储。这样,我们可以通过引导同步新创建的服务器的最新配置信息。


    打开S3的管理界面,查看是否已经同步。


    接下来,我需要设置DNS并打开Route53。我已经创建了托管区域。我在goDaddy上注册了这个域名,在goDaddy中指向aws就可以把NS服务器转移到Route53上。


    创建一个域名blog.beanxyz.com,然后指向虚拟机的公共IP。

    尝试输入域名并成功加载wordpress。

    输入初始化信息


    Ubuntu14上的WordPress可以算是一个成功的构建。但此时只有数据库高可用,WordPress服务器没有,上面的媒体数据也存储在本地硬盘上。


    创建新文章并插入图片。


    可以看到,图片保存在/wp-content/uploads的本地磁盘中。


    为了保证全球范围内的快速访问速度,我们需要创建一个CDN网络。CDN的Orgin服务器指向S3,所有图片信息都需要保存在对应的S3桶中。


    创建一个新的S3存储桶

    修改属性以创建一个存储桶策略,允许所有用户对其内容进行只读访问。


    然后创建一个CloudFrontUrl

    选择网站

    分发点指向S3水桶


    通过S3同步将图片同步到我们的S3桶中。


    检查Url,S3桶和本地磁盘的内容已经同步。


    然后在crontab中创建一个调度任务,每分钟同步一次。


    同时,您需要修改虚拟主机文件,并将本地磁盘的访问地址替换为CDN的地址。

    打开重写并重新启动apache。


    从wordpress点击图片的地址,发现已经是CDN的地址了。

    最后,不要忘记通过awss3cp命令将最新的更改保存回S3bucket。


    然后通过这个EC2创建一个AMI镜像。


    然后,我们可以通过这个AMI和自动扩展来自动创建一个新的虚拟机。


    现在让我们配置WordPress的高可用特性,d性负载平衡器。


    创造一个新的ELB

    把我创建的两个子网放进去,这样自动创建的虚拟机就可以在不同的数据中心进行负载均衡了。


    指向之前创建的SG。

    它是创造出来的。


    创建完成后,我们需要修改之前的DNS,让我的blog.beanxyz.com指向ELB的地址,而不是直接指向一个虚拟机的公有IP。

    Nslookup以查看它是否已更改。


    最后,让我们创建一个新的自动缩放组。



    选择您之前创建的AMI镜像。


    配置虚拟机。请注意,信息可以通过用户数据中的Bootstrap进行预配置。

    剩下的基本就是默认选项了。一步一步点就行了。


    选中ELB,这样新创建的EC2将自动加入ELB进行负载平衡。


    根据CPU变化自动添加和删除实例。豆子之前的这个博客已经详细介绍过了。


    AS配置完成后,由于我设置的初始状态需要两台服务器,它会立即自动创建两个实例,可以在ELB的配置界面查看。

    也可以在EC2的配置界面查看。


    手动删除一个实例,访问仍然成功!


    欢迎分享,转载请注明来源:内存溢出

    原文地址: https://outofmemory.cn/zz/784348.html

    (0)
    打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
    上一篇 2022-05-04
    下一篇 2022-05-04

    发表评论

    登录后才能评论

    评论列表(0条)

    保存