作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!

这篇文章介绍如何在亚马逊云架设WordPress博客。最强的云,加上最流行的建站工具,构成了最容易掌握的建站方式。

AWS

AWS (Amazon Web Service)是亚马逊提供的云服务。它是当今最强大的云平台之一。近几年获得成功的多家网站,比如Pinterest, Foursquare, Airbnb, Spotify,都架设于该平台。AWS即将通过合作的方式,入华提供云服务。这一新闻激起了不小的波澜。多家国内云服务商纷纷降价,以提前应对。AWS的影响力可见一斑。

为了使用亚马逊云,需要有一个亚马逊账户。你可以使用已有的亚马逊购物账户,也可以重新注册。前往亚马逊AWS官网

AWS首页

上面的"My Account / Console"菜单中,我的账户(My Account)主要包括各种账户和账单信息。管理面板(Amazon Management Console)用于设置AWS的云服务。

根据提示设置账户。你需要输入信用卡信息,并有一个电话用于验证。AWS有一个免费的计划可以选择,可以先拿来试用:

注册完成后,依然从"My Account / Console"菜单,进入管理面板(Amazon Management Console)。AWS的大部分云服务都列在这里,包括我们后面要使用的EC2。

Management Console

EC2实例(instance)

EC2(Amazon Elastic Compute Cloud)是亚马逊推出的“弹性云”服务。一个EC2的实例(instance)提供了一个虚拟主机。你可以像使用一台电脑或者一台服务器那样,使用这个虚拟主机。另一方面,EC2会根据你的实际消耗的计费,避免了主机的闲置耗费。随着网站的增长,EC2可以很容易的拓展,支持更多的来访。

对于新注册的用户,可以免费创建一个EC2实例

  • 每月750小时主机时间
  • 30G存储空间
  • 2百万次IO
  • 1GB闪存
  • 15GB带宽

收费细节可参考AWS计价

我们将创建一个EC2实例,并在该虚拟主机上架设WordPress。从管理面板进入EC2页面:

EC2页面

这个页面中,有四个标出的选项:

  • 右上角的Singapore。你可以根据用户的主要所在地,设置服务器地址。
  • 左侧的Instances。列出所有已经创建的实例。你可以进一步设置。
  • 左侧的Security Groups。用于控制不同IP地址对某个实例的访问权限。
  • 中间的Launch Instance按钮,新建实例

新建实例,并跟随指示设置。我选择的是:

  • 操作系统为Ubuntu 13.10, 64位
  • t1,micro的实例类型 (instance type),这是可以免费使用的实例类型。
  • 使用默认的用户组 (security group),允许所有IP (0.0.0.0/0)访问22端口,即SSH端口。
  • 创建新的键值对(key pair),该键值对用于SSH访问的加密。将生成的.pem文件保存为vamei.pem
  • 启动实例

在EC2页面的菜单中选择Instances,可以查看已经创建的所有实例及其相关属性。左键点击某个实例,可以从下面的窗口看到相关的信息,比如实例的域名和IP地址:

DNS与IP地址

访问权限

这里主要说明Security Groups的访问权限设置。我们刚才在创建实例中,允许所有的IP访问SSH端口。由于我们的目的是架设一个WordPress的Web站点,我们还需要开放80和3389端口。

在EC2页面选择Security Groups,选择实例所属的用户组。在下方的窗口中,选择Inbound标签页,并增加规则,开放80和3389端口给所有人。

另一方面,我们的SSH端口依然是所有人都可以访问。这并不安全。可以增加关于22号端口的规则(rule),限定可访问的IP范围。

设置访问规则

Apply Rule Changes之后,这些规则就会生效。

参考在AWS创建WordPress博客

你可以在Security Groups页面下,创建多个群组。回到Instances页面中,右键点击相应实例,设置群组,让一个实例归属于多个群组。

WordPress建站

现在多个方面都已经准备好。使用保存的vamei.pem密钥,利用SSH登录到虚拟主机。在Linux和Mac下,可以直接使用SSH命令:

ssh -i vamei.pem ubuntu@ec2----.ap-southeast-.compute.amazonaws.com

对于Ubuntu系统来说,用户名为ubuntu。对于Amazon Linux系统,用户名ec2-user。对于RHEL5, 用户名可能是root,也可能是ec2-user。

在Windows下,可以使用SSH软件登录,比如PuTTY。

可参考使用SSH连接云。登录之后,你可以像使用单机Linux那样使用亚马逊云。

架设WordPress博客的步骤,参考我上一篇文章WordPress快速建站。架设成功之后,可以根据实例的域名或者IP访问。我的实例的域名是http://ec2-54-254-225-107.ap-southeast-1.compute.amazonaws.com/

我的AWS博客

*** 图片上传的权限问题:

上传多媒体图片时,有可能出现无权建立文件夹的提示。这时,要登陆EC2,修改相应的母文件夹wp-content的权限,让apache的用户名拥有写入权限。apache服务器的用户名可以使用下面命令找到:

apache2ctl -S

我的apache的用户名为www-data,所在组为www-data。我的方式是将文件夹归属为www-data组,并让归属组拥有写入权限。

域名设置

AWS提供的域名是一个次级域名。我想申请一个正常的,易于人记忆的域名,比如vamei.me。到GoDaddy上搜索,这个域名还没有人注册,申请账户并注册该域名。

(需要信用卡,每年支付十几美元的费用)

域名注册之后,需要将已经创建的实例和该域名连接。登录GoDaddy的账户,访问自己的账户。所有注册的域名都在“Domain”一栏中列出。

点击vamei.me一行的Launch按钮,进入vamei.me域名的详情页面。选择修改DNS Zone File。将一开始的A Host的IP地址,改为实例的IP地址:

修改Zone File

这一修改可能需要一些时间才能生效。生效后,可以通过vamei.me访问我的博客了。

上面的域名设置成功之后,WordPress可以通过两个域名访问,即原有的AWS域名和GoDaddy注册的域名。如果你尝试点击博客的不同页面,会发现这些链接依然使用的是旧的域名。我们可以在WordPress中修改。

访问自己的博客,并登录。在Dashboard -> Setting -> General中,将WordPress Address和Site Address两栏,修改为新的域名:

WordPress URL设置

在修改过程中,可能不小心输错,导致无法再次登录博客。这种情况下,可以根据WordPress关于修改站点URL的指导处理。

总结

AWS云让曾经复杂而专业的服务器架设和管理变得简单。正如上面看到的,借用AWS云和WordPress这样的神器,程序员可以十分钟的时间搞定一个网站,简单而迅速。

AWS云是一个虚拟主机,当然不止架设博客这么简单的功能。你可以在AWS云上设置其它语言的Web框架,或者用作代理服务器,或者手机APP的后端,或者进行数据的分析和运算。总之,创造变得自由。

亚马逊云架设WordPress博客的更多相关文章

  1. 使用AWS亚马逊云搭建Gmail转发服务(三)

    title: 使用AWS亚马逊云搭建Gmail转发服务(三) author:青南 date: 2015-01-02 15:42:22 categories: [Python] tags: [log,G ...

  2. 亚马逊云服务器AWS安装CentOS

    亚马逊云服务器默认创建的实例,在停止之后再启动的情况下,IP会发生改变.所以我们最好先创建一个弹性IP,即EIP,不过我也不清楚这个费用. 1.按如图操作创建一个弹性IP,弹性IP创建之后可以随便绑定 ...

  3. 使用AWS亚马逊云搭建Gmail转发服务(一)

    title: 使用AWS亚马逊云搭建Gmail转发服务(一) author:青南 date: 2014-12-30 15:41:35 categories: Python tags: [Gmail,A ...

  4. 使用AWS亚马逊云搭建Gmail转发服务(二)

    title: 使用AWS亚马逊云搭建Gmail转发服务(二) author:青南 date: 2014-12-31 14:44:27 categories: [Python] tags: [Pytho ...

  5. [转]Amazon AWS亚马逊云服务免费一年VPS主机成功申请和使用方法

    今天部落将再次为大家介绍如何成功申请到来自亚马逊的Amazon AWS免费一年的VPS主机服务.亚马逊公司这个就不用介绍了,是美国最大的一家网络电子商务公司,亚马逊弹性计算云Amazon EC2更是鼎 ...

  6. 亚马逊云服务器VPS Amazon EC2 免费VPS主机配置CentOS及其它内容

    Amazon目前提供为期一年的免费VPS服务,可到地址http://aws.amazon.com 进行申请. 现在对账号申请成功后,对VPS主机配置CentOS的过程做个图文介绍 1.创建实例(Ins ...

  7. AWS系列之一 亚马逊云服务概述

    云计算经过这几年的发展,已经不再是是一个高大上的名词,而是已经应用到寻常百姓家的技术.每天如果你和互联网打交道,那么或多或少都会和云扯上关系.gmail.github.各种网盘.GAE.heroku等 ...

  8. mac 登录亚马逊云服务器报错:Permission denied (publickey).

    申请的亚马逊云服务器EC2,实例为ubuntu系统 一.打开终端,定位到放置密钥的文件夹: 二.确保私有秘钥不是公开可见的: p.p1 { margin: 0.0px 0.0px 0.0px 0.0p ...

  9. 解决亚马逊云服务器上安装nginx后无法访问的问题

    在亚马逊云服务器上装了Ubuntu系统,使用docker环境搭建nginx,启动nginx容器后,在浏览器输入地址后,显示连接超时. 在网上查了一下说有可能是服务器安全组的设置问题 然后在云服务器的安 ...

随机推荐

  1. 移动web前端下拉刷新效果

    直接复制粘贴 放在页面中即可 <script> window.onload = function(){ window.addEventListener('touchstart', touc ...

  2. SubVersion Ubuntu

    UbuntuサーバにSubversionを入れる Linux, 開発ツール |    Ubuntuサーバが無事に動いたので.続いてSubversionを入れてみる. こんな感じの環境を考える. Apa ...

  3. 通读AFN②--AFN的上传和下载功能分析、SessionTask及相应的session代理方法的使用细节

    这一部分主要研究AFN的上传和下载功能,中间涉及到各种NSURLSessionTask的一些创建的解析和HTTPSessionManager对RESTful风格的web应用的支持,同时会穿插一点NSU ...

  4. SpringMVC自定义处理器里的那些事

    一.如何让一个普通类成为Controller? ①:实现接口Controller 解析:handleRequest(request,response) ②:继承AbstractController 解 ...

  5. java学习中的一些疑惑解答

    一.java中的枚举类型: 在实际编程中,往往存在着这样的"数据集",它们的数值在程序中是稳定的,而且"数据集"中的元素是有限的.例如星期一到星期日七个数据元素 ...

  6. linux安装VMware-tools,

    系统中可能预装了open-vm-tools和VMware-tools冲突,所以需要先将前者卸载在进行安装不同系统卸载使用的命令不一样,centos的命令可以使用rpm,ubuntu的命令可以使用dpk ...

  7. linux 用户管理(一)

    本节内容梗概: 1.用户管理配置文件 2.用户管理命令 3.用户组管理命令 4.批量添加用户 5.用户授权 学东西先讲原理,所以从配置文件入手 1.用户信息文件  /etc/passwd 存放了用户的 ...

  8. ICollection

    ICollection 接口是 System.Collections 命名空间中类的基接口.ICollection 接口扩展 IEnumerable:IDictionary 和 IList 则是扩展 ...

  9. CSS 基础语法

    注:CSS对大小写不敏感,但是如果涉及到与HTML文档一起工作的时候,class和id名称对大小写是敏感的 一.color color:#ff0000; color:#f00; //缩写 color: ...

  10. SQList

    SQLite顾名思议是以 SQL为基础的数据库软件,SQL是一套强大的数据库语言,主要概念是由「数据库」.「资料表」(table).「查询指令」(queries)等单元组成的「关联性数据库」(进一步的 ...