AWS系列之二 使用EC2
在本文中我们有三个任务。
第一:使用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 Status为running后,我们就可以进行第二个任务了,就是远程连接到该实例。
打开你心爱的终端,然后先提升刚保存的pem文件的权限。
1 |
|
然后在AWS的控制面板上找到该实例的公共IP,使用ec2-user用户名来ssh到该实例。
1 |
|
稍微等待以后就可以连接到远程实例了。
1 |
|
怎么样?一切都非常简单吧?
下面就进行这个实验的最后一个任务了,在该远程实例上搭建一个web服务器。
ssh到该实例后,执行下面命令。
1 |
|
这句命令是安装Apache的httpd服务器。
然后跳转到/var/www/html目录下,并新建一个名为index.html的文件。
1 |
|
使用你习惯的编辑器在该文件中输入一个html格式的文档并保存。
1 |
|
接下来启动web服务器。
1 |
|
大功告成,从该EC2实例的控制面板中找到其公共DNS,然后粘贴到浏览器中,就可以访问其提供的web服务了。

好了,这三个任务也就都完成了。希望大家喜欢这次EC2之旅。
AWS系列之二 使用EC2的更多相关文章
- AWS—Xshell工具远程登录EC2虚拟机
一.创建AWS账户(已有AWS账号的请跳过) 访问 https://amazonaws-china.com/cn/,点击创建AWS账户,根据提示填写个人相关信息,创建AWS账户. 二.创建EC2虚拟机 ...
- 【疯狂造轮子-iOS】JSON转Model系列之二
[疯狂造轮子-iOS]JSON转Model系列之二 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 上一篇<[疯狂造轮子-iOS]JSON转Model系列之一> ...
- 【原】Android热更新开源项目Tinker源码解析系列之二:资源文件热更新
上一篇文章介绍了Dex文件的热更新流程,本文将会分析Tinker中对资源文件的热更新流程. 同Dex,资源文件的热更新同样包括三个部分:资源补丁生成,资源补丁合成及资源补丁加载. 本系列将从以下三个方 ...
- MySQL 系列(二) 你不知道的数据库操作
第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 你不知道的数据库操作 本章内容: 查看\创建\使用\删除 数据库 用户管理及授权实战 局域网 ...
- ES6+ 现在就用系列(二):let 命令
系列目录 ES6+ 现在就用系列(一):为什么使用ES6+ ES6+ 现在就用系列(二):let 命令 ES6+ 现在就用系列(三):const 命令 ES6+ 现在就用系列(四):箭头函数 => ...
- CRL快速开发框架系列教程二(基于Lambda表达式查询)
本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...
- Web 前端开发精华文章推荐(jQuery、HTML5、CSS3)【系列十二】
2012年12月12日,[<Web 前端开发人员和设计师必读文章>系列十二]和大家见面了.梦想天空博客关注 前端开发 技术,分享各种增强网站用户体验的 jQuery 插件,展示前沿的 HT ...
- C#微信公众号开发系列教程二(新手接入指南)
http://www.cnblogs.com/zskbll/p/4093954.html 此系列前面已经更新了两篇博文了,都是微信开发的前期准备工作,现在切入正题,本篇讲解新手接入的步骤与方法,大神可 ...
- 当我们说线程安全时,到底在说什么——Java进阶系列(二)
原创文章,同步发自作者个人博客,转载请以超链接形式在文章开头处注明出处http://www.jasongj.com/java/thread_safe/ 多线程编程中的三个核心概念 原子性 这一点,跟数 ...
随机推荐
- 文件消息的简单样式demo
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- c# HttpWebRequest 与 HttpWebResponse
如果你想做一些,抓取,或者是自动获取的功能,那么就跟我一起来学习一下Http请求吧.本文章会对Http请求时的Get和Post方式进行详细的说明,在请求时的参数怎么发送,怎么带Cookie,怎么设置证 ...
- IE插件BHO
一丶接口IObjectWithSite //BHO项目(类库)添加引用两个COM //Microsoft HTML Object Library, Microsoft Internet Control ...
- CSS实现完美垂直居中
之前看到很多人一直都问这个问题,不过当时我没当一回事,因为在 CSS 中要垂直居中,多数是在有高度的情况下,或者容器高度不定的情况下才用,看上去比较舒服,而且实现的方法也不少,不一定要拘泥于和 tab ...
- POST 500 Internal Server Error
今天调试公司web后台时发现一个POST 500 Internal Server Error的错误. 本来VS本地调试没有发现这个问题,然后发布到服务器时才出现了.然后找了好久没找到什么原因,再仔细在 ...
- Cracking-- 1.1 判断字符串中是否有重复字符
第三种方法为位运算的方法. 位运算符: << 左移 & 与 | 或 #include <iostream> #include <string> #incl ...
- PHP-递归扫描目录和删除目录
(1) 通过递归扫描目录并打印 // php递归扫描目录 function scanMyDir($path){ // 打开目录 $dh = opendir($path); echo '<ul&g ...
- KIWI Syslog配置
日志服务器Kiwi+Syslogd+8.3.7破解版 Window收集服务器日志evtsys_exe_32 默认地,kiwi使用UDP 514端口接收日志数据,安装成功后即可接收日志 使用命令nets ...
- 关于MFC文本框输入内容的获取 与 设置文本框的内容
八月要开始做界面了<( ̄︶ ̄)/,然而目前只会用MFC╮(╯▽╰)╭ 好吧,言归正传,设置好文本框后,要获取用户输入的内容,可以用: GetDlgItemText() ; 这个函数有两个参数,第 ...
- HDU 2068 RPG的错排
要求答对一半或以上就算过关,请问有多少组答案能使他顺利过关. 逆向思维,求答错一半或以下的组数 1,错排 错排公式的由来 pala提出的问题: 十本不同的书放在书架上.现重新摆放,使每本书都不在原来放 ...