在本文中我们有三个任务。
第一:使用Amazon management console创建一个EC2实例。
第二:使用本地的命令行工具远程登陆到该EC2实例。
第三:在该EC2实例上创建一个web服务,并通过公共域名来访问该web服务。

如果你还没有AWS的账号的话,可以使用qwiklabs提供的免费实验来进行该练习。地址是https://run.qwiklabs.com

登陆到亚马逊的AWS服务的management console后选择EC2服务。

然后你就可以到EC2的控制面板了。

点击上面大大的Launch Instance按钮来开始创建一个新的EC2实例。

首先要选择机器的镜像文件AMI(Amazon Machine Image),有各种Linux的发行版,也有Windows系统。在本次实验中我们选取第一个,即Amazon Linux AMI,亚马逊自己的一个Linux发行版。

然后是选择机器类型,不同类型机器性能不同,收费标准也不一样,一切都是根据你的需求来决定。就选第一个吧,最便宜。

然后你有两个选择,一个是点击Review and Launch直接启动新机器,其余参数都采用默认值,另一个是点击Next:Configure Instance Details自定义其它配置。在这里我们选择第二个按钮,然后直到step6:Configure Security Group。

这里是配置安全组的,你可以使用已有的安全组,也可以创建一个全新的安全组。在安全组里可以设置一系列策略来管理该实例与外界的访问情况。

由于我们需要远程登录到该实例,并且需要该实例提供http服务,所以我们需要开放22和80端口。22端口默认是开放的,80端口则需要手动开放。方法是点击Add Role按钮并新加一个role。

配置完成后点击Launch按钮,会弹出一个页面让你设置key pair。

这个key pair是用来与该实例建立安全连接。亚马逊会存一个公钥,自己在本地存放一个私钥,当想要连接该实例时,需要提供私钥。这里我们选择新建一个key pair,并取名为awsworkshop,选择保存到本地。稍后会使用它来ssh到该实例。

点击Launch Instances按钮,实例就会被初始化了。

点击View Instances来查看新创建的实例。

一般需要等待3到5分钟来完成对新实例的初始化。在上图中可以查看该实例的相关信息。亚马逊给该实例分配了一个公共IP和公共DNS域名,稍后需要使用它们。

等到该实例的Instance Statusrunning后,我们就可以进行第二个任务了,就是远程连接到该实例。

打开你心爱的终端,然后先提升刚保存的pem文件的权限。

1
$: chmod 600 ~/Downloads/awsworkshop.pem

然后在AWS的控制面板上找到该实例的公共IP,使用ec2-user用户名来ssh到该实例。

1
$: ssh ec2-user@54.191.210.210 -i ~/Downloads/awsworkshop.pem

稍微等待以后就可以连接到远程实例了。

1
2
[ec2-user@ip-172-31-46-246 ~]$ who
ec2-user pts/0 2014-07-26 06:38 (123-243-183-184.static.tpgi.com.au)

怎么样?一切都非常简单吧?

下面就进行这个实验的最后一个任务了,在该远程实例上搭建一个web服务器。

ssh到该实例后,执行下面命令。

1
$: sudo yum install httpd

这句命令是安装Apache的httpd服务器。

然后跳转到/var/www/html目录下,并新建一个名为index.html的文件。

1
2
$: cd /var/www/html
$: sudo touch index.html

使用你习惯的编辑器在该文件中输入一个html格式的文档并保存。

1
2
3
4
5
<html>
<body>
<h1>Hello World!</h1>
</body>
<html>

接下来启动web服务器。

1
$: sudo service httpd start

大功告成,从该EC2实例的控制面板中找到其公共DNS,然后粘贴到浏览器中,就可以访问其提供的web服务了。

好了,这三个任务也就都完成了。希望大家喜欢这次EC2之旅。

AWS系列之二 使用EC2的更多相关文章

  1. AWS—Xshell工具远程登录EC2虚拟机

    一.创建AWS账户(已有AWS账号的请跳过) 访问 https://amazonaws-china.com/cn/,点击创建AWS账户,根据提示填写个人相关信息,创建AWS账户. 二.创建EC2虚拟机 ...

  2. 【疯狂造轮子-iOS】JSON转Model系列之二

    [疯狂造轮子-iOS]JSON转Model系列之二 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 上一篇<[疯狂造轮子-iOS]JSON转Model系列之一> ...

  3. 【原】Android热更新开源项目Tinker源码解析系列之二:资源文件热更新

    上一篇文章介绍了Dex文件的热更新流程,本文将会分析Tinker中对资源文件的热更新流程. 同Dex,资源文件的热更新同样包括三个部分:资源补丁生成,资源补丁合成及资源补丁加载. 本系列将从以下三个方 ...

  4. MySQL 系列(二) 你不知道的数据库操作

    第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 你不知道的数据库操作 本章内容: 查看\创建\使用\删除 数据库 用户管理及授权实战 局域网 ...

  5. ES6+ 现在就用系列(二):let 命令

    系列目录 ES6+ 现在就用系列(一):为什么使用ES6+ ES6+ 现在就用系列(二):let 命令 ES6+ 现在就用系列(三):const 命令 ES6+ 现在就用系列(四):箭头函数 => ...

  6. CRL快速开发框架系列教程二(基于Lambda表达式查询)

    本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...

  7. Web 前端开发精华文章推荐(jQuery、HTML5、CSS3)【系列十二】

    2012年12月12日,[<Web 前端开发人员和设计师必读文章>系列十二]和大家见面了.梦想天空博客关注 前端开发 技术,分享各种增强网站用户体验的 jQuery 插件,展示前沿的 HT ...

  8. C#微信公众号开发系列教程二(新手接入指南)

    http://www.cnblogs.com/zskbll/p/4093954.html 此系列前面已经更新了两篇博文了,都是微信开发的前期准备工作,现在切入正题,本篇讲解新手接入的步骤与方法,大神可 ...

  9. 当我们说线程安全时,到底在说什么——Java进阶系列(二)

    原创文章,同步发自作者个人博客,转载请以超链接形式在文章开头处注明出处http://www.jasongj.com/java/thread_safe/ 多线程编程中的三个核心概念 原子性 这一点,跟数 ...

随机推荐

  1. 在ASP.NET MVC中使用Juqery实现页面局部刷新

    自己做的一个实验,留作备忘,此实例包括扩一下几个文件: 1.MyMovieController.cs 2.Index.aspx 3.ViewUserControl1.ascx 4.movie类 其中M ...

  2. 用Asp.net写自己的服务框架

    阅读目录 开始 理解Asp.net管线 HttpHandler HttpModule 关于Content-Encoding的解释 选 HttpHandler 还是 HttpModule ? 看不见的性 ...

  3. iis下设置php最大执行时间

    php在执行中常见错误: The FastCGI process exceeded configured request timeout: FastCGI process exceeded confi ...

  4. 1306. Sorting Algorithm 2016 12 30

    1306. Sorting Algorithm Constraints Time Limit: 1 secs, Memory Limit: 32 MB Description One of the f ...

  5. Robot Framework安装教程

    第一步:安装Python,安装的版本是python-2.7.9.amd64.msi 安装教程详见地址:http://jingyan.baidu.com/article/c910274be14d64cd ...

  6. 易学PHP——WAMP环境搭建

    安装前的准备 查看本机的类型(x86/x64,即 32 位还是 64 位) 安装好 VC9/VC11/VC14 运行库(需要按照本机的类型选择安装) 创建好一个安装路径用于安装整套 amp 环境(我使 ...

  7. vijos1909寻找道路

      描述 在有向图 G 中,每条边的长度均为 1,现给定起点和终点,请你在图中找一条从起点到 终点的路径,该路径满足以下条件: 路径上的所有点的出边所指向的点都直接或间接与终点连通. 在满足条件 1 ...

  8. oracle 抛出自定义错误(网上找的例子)

    CREATE OR REPALCE TRIGGER minimun_age_checkBEFORE INSERT ON employeeFOR EACH ROWBEGIN IF ADD_MONTHS( ...

  9. Await, and UI, and deadlocks! Oh my!

    It’s been awesome seeing the level of interest developers have had for the Async CTP and how much us ...

  10. PHP——使用header()函数下载文件

    思路:先指明内容的MIME类型,内容描述,内容长度(也即文件大小). 一.下载txt文件的程序: <?phpheader('Content-Type:text/plain');header('C ...