共计 3111 个字符,预计需要花费 8 分钟才能阅读完成。
这篇文章介绍如何在亚马逊云架设 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 文件保存为 Fedora.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 建站
现在多个方面都已经准备好。使用保存的 fedora.pem 密钥,利用 SSH 登录到虚拟主机。在 Linux 和 Mac 下,可以直接使用 SSH 命令:
ssh -i fedora.pem ubuntu@ec2-54-254-225-107.ap-southeast-1.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 提供的域名是一个次级域名。我想申请一个正常的,易于人记忆的域名,比如 fedora.cc。到 GoDaddy 上搜索,这个域名还没有人注册,申请账户并注册该域名。
(需要信用卡,每年支付十几美元的费用)
域名注册之后,需要将已经创建的实例和该域名连接。登录 GoDaddy 的账户,访问自己的账户。所有注册的域名都在“Domain”一栏中列出。
点击 fedora.cc 一行的 Launch 按钮,进入 fedora.cc 域名的详情页面。选择修改DNS Zone File。将一开始的 A Host 的 IP 地址,改为实例的 IP 地址:
修改 Zone File
这一修改可能需要一些时间才能生效。生效后,可以通过 fedora.cc 访问我的博客了。
上面的域名设置成功之后,WordPress 可以通过两个域名访问,即原有的 AWS 域名和 GoDaddy 注册的域名。如果你尝试点击博客的不同页面,会发现这些链接依然使用的是旧的域名。我们可以在 WordPress 中修改。
访问自己的博客,并登录。在 Dashboard -> Setting -> General 中,将 WordPress Address 和Site Address两栏,修改为新的域名:
WordPress URL 设置
在修改过程中,可能不小心输错,导致无法再次登录博客。这种情况下,可以根据 WordPress 关于修改站点 URL 的指导处理。
总结
AWS 云让曾经复杂而专业的服务器架设和管理变得简单。正如上面看到的,借用 AWS 云和 WordPress 这样的神器,程序员可以十分钟的时间搞定一个网站,简单而迅速。
AWS 云是一个虚拟主机,当然不止架设博客这么简单的功能。你可以在 AWS 云上设置其它语言的 Web 框架,或者用作代理服务器,或者手机 APP 的后端,或者进行数据的分析和运算。总之,创造变得自由。
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-04/143277.htm