如何把WordPress安装到Amazon EC2云主机

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何把WordPress安装到Amazon EC2云主机相关的知识,希望对你有一定的参考价值。

Step 1 – 创建 Amazon Web Services 账户
在使用亚马逊云服务之前,你需要在 Amazon Web Services (AWS) 创建一个账户, 去 aws.amazon.com 点击 “Sign Up Now” 注册。

如果以前使用过Amazon.com的服务,这里可以直接使用同样的电子邮件和密码来登陆AWS,当然你也可以选择“I am a new user.”创建一个新的用户。

在注册阶段,需要输入你的联系信息和信用卡信息,以便Amazon向你收取服务的费用。创建账户是免费的,不过使用其他的服务则都是需要花钱的。
定价模型很简单 - 以服务器运行的小时为标准来收费,不过因为选项的不同,价格的计算可能比要复杂得多。当你在Amazon上运行你得站点时,在让服务器运行之前,最好仔细并重复检查价格计算,免得在月底得时候被帐单吓到。
我们的WordPress安装不会超过一个小时,在我们完成前,我们会停止所有的服务,所以完成本指南不会花我们一分钱。
Step 2 – 开启你的第一台服务器
服务器安装包括两个部分:
托管在亚马逊EC2(Amazon’s Elastic Computing Cloud)上面的应用服务器,用来运行Apache和PHP,将WordPress安装在上面。
MySQL 数据库将托管在亚马逊RDS(Amazon’s Relational Database Service)。
另由一个便宜,但更麻烦的方案,你可以手动安装MySQL服务器与PHP和Apache在同一个服务器。在本指南中,我决定使用亚马逊的关系数据库服务,因为这更容易使用,并且,亚马逊会考虑数据库的备份和维护,你没有必要担心附加的安全细节问题。
现在我们开始创建我们的第一个应用服务器实例。
在 AWS Management Console 点击EC2标签, 因为是第一次使用EC2服务,你需要另外注册该服务,点击 “Sign Up For Amazon EC2″ 按钮开始:

特别步骤,Amazon需要打电话给你来验证身份。整个过程自动进行:验证码输入正确后,会被重定向到下一个页面。

在注册过程完成后,返回到管理控制台和EC2标签。你将看到下面的页面,点击 “Launch Instance” 按钮。

网页会弹出一个 Amazon Machine Images (AMIs) 的列表.
AMIs 是正在运行的计算机的快照
多数计算机都包含了操作系统和其他一个基础软件,但是你还可以根据自己的需求创建更复杂的AMIs,甚至可以包含你的完整应用。
我们选择了最基本的选项:“Basic 32-bit Amazon Linux AMI 1.0.” 点击 “Select” 进入你选择的AMI。

选择了AMI之后,下一步就是选择需要的硬件类型。根据选择的32位或64位AMI,我们会看到不同的列表,32位的AMIs提供更便宜的选项。
作为测试,我们不需要太多的内存或处理能力,因此我们开了一个微实例。选择实例类型并点击 “Continue.”

下一屏,采用默认值就好,点击 “Continue.”

当你有多个不同规则的虚拟机后,你很容易会忘记每个机器的作用,你需要用大量的时间来查找正确的服务器。因此,对服务器的命名显得非常重要,当然在本指南中我们只运行一个实例,所以名字就显得不那么重要了。

下一步,你会被问到创建一个键值对文件来安全地连接到服务器。Key 代替了用SSH连接到机器的密码。命名你的Key Pair File,点击 “Create & Download your Key Pair.” 拷贝键值对文件到一个安全的位置 (如果你使用Mac OSX或者Linux,~/.ssh 是一个好位置)。拷贝文件后,修改文件权限到400:
chmod 400 wordpress_demo.pem
如果你使用Windows,你可以使用 PuTTY for SSH. PuTTY 使用它自己的键值格式(ppk),因此你需要使用Puttygen工具转换key到ppk格式。

Key pair 创建之后,你会被要求在你的新机器上配置防火墙。默认情况下,没有人被允许连接到该机器 - 所有端口都是关闭的。我们打开了端口22(SSH)端口80(HTTP),我们能够通过SSH配置机器并且从浏览器访问博客。

继续,检查配置,如果没有发现任何不对,点 “Launch.” 完成安装

回到Dashboard,你会注意到新建实例的状态显示为 “pending,”,过几分钟后会显示为 “running.” ,这就意味着服务器已经启动并开始运行 - 你可以开始使用了。

服务器运行后,你可以通过在防火墙中定义的端口来访问。下面我们将通过SSH连接到服务器进行Apache, PHP, MySQL的PHP扩展,以及WordPress。
Step 3 – 安装需要的服务器软件
在实例名称的右键菜单中,选择 “Connect” ,弹出一个包含SSH命令的页面窗口

登陆SSH的命令与下面的格式类似:
ssh -i wordpress_demo.pem root@ec2-….compute-1.amazonaws.com
如果你把pem key保存在~/.ssh,你需要在命令中包含路径。还有,你需要修改root用户为ec2-user,亚马逊不允许新的AMIs安装用root用户连接服务器。

登陆后,你就能像使用任何Linux主机一样使用虚拟机。安装软件,我们用Yum安装器来安装Apache服务器,输入下面的命令来安装Apache:
sudo yum install httpd
下一步,用以下命令安装PHP:
sudo yum install php
通过下面的命令安装php-mysql扩展:
sudo yum install php-mysql
好了,安装完成开始准备测试Apache。用下面的命令启动Apache(你可以用“stop”或“restart”来停止或重启Apache):
sudo /etc/init.d/httpd start
Web服务器启动后,拷贝机器的URL到浏览器测试:

Step 4 – 创建数据库机器
在安装WordPress之前,我们需要一个数据库。用RDS设置一个数据库很容易,在AWS控制台,点RDS标签,点 “Sign Up For Amazon RDS” 开始安装数据库机器。

安装完以后,回到AWS控制台的RDS标签,点击 “Launch DB Instance.” 启动数据库实例

在弹出窗口设置需要启动的数据库属性,比如服务器实例,分配的存储空间等。我们为数据库分配了5个G的空间,足够测试用了。为数据库服务器实例和根 用户命名,我们使用“wordpress-db”作为数据库服务器名,“root” / “rootpass”, 作为管理登陆。因为做测试,我们使用简单好记的登陆名,但如果要考虑更安全的登陆,建议采用较复杂的命名。

数据库服务器设置完成后,你会被要求在服务器上定义一个默认的数据库。数据库名我们设置为“wordpress”

点 Contiune 到下一步,你可以定义数据库的备份设置,保留默认值直接Continue进入下一步。

验证无误后,点 “Launch DB Instance.”

创建数据库实例的时间比创建EC2实例的时间稍长一些,大约5分钟左右以后,你就可以在instances标签看到状态为有效 “available” 了。

点击实例可以看到更多的数据信息,拷贝“endpoint”的值,这也就是我们用于wordpress安装的数据库服务器的URL。

在安装WordPress之前还有一个步骤就是我们还需要为数据库配置防火墙,以便应用服务器能够访问它。
回到RDS标签,点 “DB Security Groups.” ,在这儿你会看到没有任何授权的应用:

要让应用服务器访问数据库,我们需要授权它的安全组到数据库的安全组。从“No Authorizations”下面的下拉列表中选择 “EC2 Instance” ,并输入安全组的名称(“wordpress_app_server”)和你的Amazon Account ID
账户ID在AWS设置中是隐藏的,第一次点击“Account”链接,然后点 “Security Credentials” 就可以找到。
输入需要的信息然后点“Add”,你就可以看到安全组已经被授权了,现在可以开始安装WordPress了。

Step 5 – 安装WordPress
重新打开SSH连接到应用服务器,下载WordPress到服务器,默认情况下Apache配置HTML文件在 /var/www/html/目录
cd /var/www/html
sudo chown ec2-user
wget http://wordpress.org/latest.zip
unzip latest.zip
安装需要创建wp-config.php文件,用下面的命令修改wordpress目录属性:
chmod o+w wordpress
在浏览器输入URL路径开始安装wordpress

在wordpress数据库设置页面,我们的数据库名是“wordpress”,Database Host一项填写RDS实例的URL。

成功提交后,你的wordpress就成功安装在亚马逊云上了。
参考技术A 先再主机上配置php的环境,然后在上传源码

以上是关于如何把WordPress安装到Amazon EC2云主机的主要内容,如果未能解决你的问题,请参考以下文章

如何通过 SSL 上的 PHP 连接到 Amazon MySQL RDS 实例

如何在亚马逊免费云主机amazon ec2安装lnmpa来搭建网站

如何在 amazon micro ec2 服务器(Amazon Linux)上安装 SVN 客户端

如何在 Amazon EC2 上安装支持 PNG 的 GraphicsMagick?

Amazon EC2 和 AWS Elastic Beanstalk 之间的区别

如何通过 Amazon EC2 将 postgresql 数据移动到 Ubuntu 上的另一个目录?