上一篇文章简要介绍了高可用性wordpress的设计结构。这个设计会涉及到VPC、EC2、ELB、RDS、S3、CloudFront、AutoScaling、IAM、CloudWatch等核心服务,对于理解各个部分的功能是一个很好的练习。
现在开始具体配置。Beans会配置一个Ubuntu14的WordPress。服务器和MySQL数据库都具有高可用的功能,现有实例可以根据CPU负载自动添加或删除。的具体配置包括以下步骤:
创建一个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的配置界面查看。
手动删除一个实例,访问仍然成功!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)