在本文中我们有三个任务。
第一:使用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. 文件消息的简单样式demo

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  2. c# HttpWebRequest 与 HttpWebResponse

    如果你想做一些,抓取,或者是自动获取的功能,那么就跟我一起来学习一下Http请求吧.本文章会对Http请求时的Get和Post方式进行详细的说明,在请求时的参数怎么发送,怎么带Cookie,怎么设置证 ...

  3. IE插件BHO

    一丶接口IObjectWithSite //BHO项目(类库)添加引用两个COM //Microsoft HTML Object Library, Microsoft Internet Control ...

  4. CSS实现完美垂直居中

    之前看到很多人一直都问这个问题,不过当时我没当一回事,因为在 CSS 中要垂直居中,多数是在有高度的情况下,或者容器高度不定的情况下才用,看上去比较舒服,而且实现的方法也不少,不一定要拘泥于和 tab ...

  5. POST 500 Internal Server Error

    今天调试公司web后台时发现一个POST 500 Internal Server Error的错误. 本来VS本地调试没有发现这个问题,然后发布到服务器时才出现了.然后找了好久没找到什么原因,再仔细在 ...

  6. Cracking-- 1.1 判断字符串中是否有重复字符

    第三种方法为位运算的方法. 位运算符: << 左移  & 与 | 或 #include <iostream> #include <string> #incl ...

  7. PHP-递归扫描目录和删除目录

    (1) 通过递归扫描目录并打印 // php递归扫描目录 function scanMyDir($path){ // 打开目录 $dh = opendir($path); echo '<ul&g ...

  8. KIWI Syslog配置

    日志服务器Kiwi+Syslogd+8.3.7破解版 Window收集服务器日志evtsys_exe_32 默认地,kiwi使用UDP 514端口接收日志数据,安装成功后即可接收日志 使用命令nets ...

  9. 关于MFC文本框输入内容的获取 与 设置文本框的内容

    八月要开始做界面了<( ̄︶ ̄)/,然而目前只会用MFC╮(╯▽╰)╭ 好吧,言归正传,设置好文本框后,要获取用户输入的内容,可以用: GetDlgItemText() ; 这个函数有两个参数,第 ...

  10. HDU 2068 RPG的错排

    要求答对一半或以上就算过关,请问有多少组答案能使他顺利过关. 逆向思维,求答错一半或以下的组数 1,错排 错排公式的由来 pala提出的问题: 十本不同的书放在书架上.现重新摆放,使每本书都不在原来放 ...