共计 3450 个字符,预计需要花费 9 分钟才能阅读完成。
Linux 运维学习的过程中,实战无疑是提升自身水平的最有效手段。
在不断的练习过程中,将自身的理论基础结合到服务器的运行和维护当中,将实战经验完美融合到已有的知识体系,从而完成自己学习的目的。
现阶段,不断涌现的云服务厂商给这样的实战带来了福音——价格低廉甚至免费的云服务器正在向你招手。
如果你不想用国内厂商的云服务——或者就是单纯的嫌贵,那么免费 12 个月的亚马逊 AWS 就是你最合适的选择。
简单来说,AWS (Amazon Web Service) 提供了一整套基础设施和服务,使“建站”这件事变得轻松愉快。
你可以利用 AWS 构建博客主机,云存储(比如 DropBox),手游数据中心,公司门户等等几乎所有你能想到的需要网络服务的场景。作为一个入门介绍,我们从 WordPress 开始,因为 WordPress 几乎包含了入门级站点的全部需求元素:服务器主机,PHP 运行环境,数据库,前端页面等等。不得不多说一句,对于个人博客来说,如果经济性是首要考量因素,AWS 并非首选,大量专业博客虚拟主机以非常低廉的价格提供给低访问量的博客站长。AWS 的入门套餐价格也远比入门级博客主机价格高许多,当然,性能和容量也大许多。在决定是否选用 AWS 提供服务前,有必要对自己的业务量有个初步估算。
好在 AWS 对于初次注册的用户提供了为期一年的免费套餐,足以应对一个中等大小的博客站点(甚至多个)持续运行一年时间。我们就从这个免费套餐开始入门的学习。
免费套餐的详细说明请参见官方介绍。
另外,AWS 有遍布全球的数据中心,而且,即使你的主机设置在美洲,也可以用 CloudFront 服务来进行全球加速。不过 CloudFront 服务似乎并未包含在免费套餐中。建议在创建主机时,选择日本节点,从大陆访问的速度还算不错。
有消息称亚马逊正在计划在中国大陆部署数据中心,并有望在 2013 年年底前正式上线。非常令人期待啊。
在开始前,请先准备一张双币信用卡。
AWS 账号就是你的 Amazon 账号(注意,不是 amazon.cn 而是 amazon.com)。若之前没有 amazon 账号,请直接去 www.amazon.com 注册。如果不想用 AWS 服务,这个账号还可以用来在美国亚马逊海涛心仪的商品。
然后开通 AWS 服务:打开页面 亚马逊新手套餐 ,点击“免费试用”,跟随向导注册服务。所有的个人信息按照真实信息填写即可,中间会验证手机,验证信用卡。验证手机会收到一个英文电话,根据提示输入验证码,注册向导会自动继续。信用卡验证过程中会有一笔 1 美元左右的扣款,理论上会在最终账单中退还。注意你的信用卡必须是有效期内,在一年免费期结束后,如果继续使用,会按照选择的付费方案进行支付。如果免费期结束不想继续使用,关闭所有服务即可,不会产生任何额外费用。
注册过程如果有选择付费方案(定价模型),请选择“按需付费”。大意就是,用多少付多少,不用就不付。对于实验性质尝试,这种方案很合适。
主机是一切服务的基础。当然,如果你不需要运行自己的程序,只需要一个数据中心,这一步也可以省掉。比如手游客户端需要的数据库,通信等的。既然我们需要一个网站,那么一个主机是必须的。
亚马逊的主机有个很拉轰的名字:“亚马逊弹性云计算”(Elastic Cloud Compute, 简称 EC2)。用亚马逊自己的话说,它的优势在于:弹性,完全控制,灵活,可靠,安全,与 AWS 其他服务轻松配合,经济实惠,轻松入门。详细介绍参见:EC2 概述
现在,我们已经有了一个 AWS 的账户,立刻进入 AWS 控制台,会看到这样的界面:
进入 EC2 面板,点击“Launch Instance”来创建第一个实例。会看到这样的对话框:
选则 classic wizard 进入即可。然后会进入操作系统选择界面,支持 Linux 和 Windows 系统。作为服务器,建议选择 Linux 系统。同时,标记星号的表示包括在免费套餐中,选择这些系统不会产生额外费用,其他的会按照标准定价收费。
我这里选择的是 Amazon Linux AMI。AMI 预置了若干常用包,很方便。
下一步会选择实例数量和类型。注意,收费方式中的一年 720 小时时间,是按实例分别计算的。720 小时足够单实例持续运行一年,两个实例就是半年。这里作为测试,保持默认 1,实例类型一定要确认是 微型 (T1 Micro),其它类型均不包括在免费方案中。
后面两页使用默认设置即可。进入到 Tags 设置,这一页只是用来标识主机信息的,你可以填一个好记的名字。然后继续,进入关键的一步,生成 Key-Pair。这个 Key-Pair 是后面所有操作的基础,生成后一定要保存在一个安全的地方。页面如下,输入一个好记的名字,点击“Create & Download”,下载完成后点击继续。
下一步,会要求设置防火墙。初始设置会有两个默认安全组,任选一个或新建一个,默认打开 80(http)和 22(ssh)端口确保我们可以 SSH 连接服务器进行管理操作,以及通过浏览器访问 Web 服务。安全组之后随时可以增删编辑。
至此,EC2 实例设置完毕,点击“Launch”,回到 AWS 控制台,EC2 的面板会显示刚刚创建的实例,注意“状态”一栏,当它由“Pending”变为“running”后,EC2 实例就正常运行,可以进行后续操作了。
EC2 实例默认只有私有 IP 和一个动态的公开 IP 地址 / 域名。如果需要使用我们自己的域名,则需要一个静态 IP,并将我们的域名指向这个 IP。
如何申请域名就不多说了。只说如何绑定。
首先,进入 EC2 控制台,在左侧导航栏选择 Elastic IP,申请一个新的 IP 地址。
得到新的 IP 地址后,将它绑定到刚刚生成的 EC2 实例。然后将我们希望使用的域名解析到这个 IP 地址即可。很简单。不过需要注意的是,如果你申请了一个 IP 而没有使用(绑定到一个可用实例),亚马逊是会罚款的哦,它会直接出现在你的账单里。
完成 IP 申请后,需要编辑安全组,使这个 IP 地址可以访问 3306 端口,这是为了之后我们的主机可以访问 RDS 实例。
建网站必须有个数据库。比如 wordpress。
通常 php 网站最常用的数据库就是 MySQL。我们有两个选择,一个是直接在 EC2 主机安装部署一个 MySQL 服务,另一个是使用 RDS。自行安装的好处是在业务量不大的情况下,不会产生额外费用。RDS 的好处是,无需操心安装,备份,负载等问题,并且很容易扩容。
我们后续两种数据库的使用都会介绍。这里既然我们已经在 AWS 控制台了,就先创建一个实例以备后续使用。
首先,在主控面板选择 RDS 进入,点击“Launch a DB Instance”来开始创建数据库实例。向导第一步会要求选择数据库引擎,果断选择 MySQL 进入下一步。向导第二步询问是否用于生产,标题是“Do you plan to use this database for production purposes?”,好吧,我也不知道这是什么玩意儿,不过按说明,这种类型会要求使用 Multi-AZ(多区域部署),是不包含在免费计划中的。选择“No”进入 Step 3.
Step 3,许可证模型选择默认 GPL,数据库版本默认,数据库类型“DB Instance Class”选择“db.t1.micro”(微型,免费套餐),空间分配填写 20G,足以应付中小型应用。然后填写实例名称,主用户名,密码等等。完成后进入下一步。
Step 4,这一步比较关键,数据库名填入并记录,其他项保持默认,关键是最后一栏,安全组,选择刚刚我们在创建 EC2 实例时设定的安全组(打开 3306 端口),然后进入下一步。
Step 5,备份设定。这个很简单,根据需要设置下就好了。这里设置好之后,我们就不用再操心数据库备份的事儿啦。
最后又一个摘要页面,检查无误后,点击“Launch Instance”,数据库实例开始创建。这个过程比 EC2 实例创建的要慢,耐心等待 5 到 10 分钟直到 Status 变成绿色文字“available”。点击该实例详情,找到“Endpoint”,这个地址就是我们将来在配置数据库连接时的主机名。
至此,建立一个简单网站的 AWS 服务创建和初始化工作全部完成。,
怎么样?有没有感觉特别简单?在完成上述的一系列操作之后,记得检查自己的操作步骤,进行一下反思,看看哪里做的巧妙,又有哪里需要进一步提升。
最好的办法就是像本篇作者一样,整理一个文字版的安装体验,这样的实战才是有效且能提升自己的。