在 Amazon EC2 (AWS) Linux 实例上设置 WordPress 的分步指南
已发表: 2017-05-25Amazon Elastic Compute Cloud ( Amazon EC2 ) 是一种云服务,可在云中提供可调整大小的计算容量。 它旨在让开发人员以更好的方式扩展和监控他们的 Web 应用程序。
Amazon EC2 提供了一些高级功能,如弹性 IP、负载平衡、各种平台(如(linux、windows 等)、扩展、监控等)。开发人员也可以轻松地以更好的方式管理他们的 Web 应用程序。
WordPress on AWS
是明智的选择,因为与其他 VPS 提供商相比,亚马逊价格低廉、功能更多和其他相关的惊人服务。 他们还会按您的实例运行小时数向您收费。
因此,在本教程中,我将向您展示如何在 Linux 平台上设置 LAMP 环境并在 Amazon EC2 实例上手动安装 WordPress 博客。
本分步指南将帮助您完全管理与 cPanel 不同的主机。
1. 创建 AWS 账户
首先,您需要创建您的 AWS 账户。 您可以通过此链接进行注册。 您必须提供信用卡或国际借记卡和电话号码,作为在线注册验证过程的一部分,您将按照他们的条款和政策进行呼叫。
您的信用卡或借记卡将收取小额费用,并在他们核实后退还。 亚马逊提供免费使用套餐,我们将在该套餐上安装 WordPress,这非常适合探索服务甚至托管真正的应用程序,而无需支付一分钱。
2.创建实例
注册后,您有许多可用选项,然后您可能会想到这个问题, Which type of instance should I choose
?
如果您有新博客,那么您可以选择可以处理大约 200+ 实时流量的EC2 micro instance
。
它的价格结构也很有吸引力,但是如果您正在迁移现有博客并且每天的流量超过一千,那么您必须选择可以非常轻松地处理该流量的小型实例。
要创建新实例,请访问 AWS 管理控制台并单击 EC2 选项卡:
- 在经典实例向导中选择一个 AMI:
- 我选择了 Basic 64 位 Ubuntu Server Amazon Linux AMI。
- 实例详情:
- 选择您要使用的实例类型。 我选择了小(m5a.small)。
- 创建一个新的密钥对。
- 输入您的密钥对的名称(即 crunchify)并下载您的密钥对(即
crunchify.pem
)。
- 输入您的密钥对的名称(即 crunchify)并下载您的密钥对(即
- 选择快速启动安全组。
- 启动您的实例。
3. SSH 到您的实例
一旦您的实例设置完成并且它显示实例正在运行,您就可以通过ssh
进入它。
- 首先,您需要确定实例的 IP 地址(公共 DNS):
- 在 AWS 管理控制台中选择实例。
- 在实例描述(屏幕底部)中查找公共 DNS。
使用该地址(以及 .pem 文件的路径)通过 ssh 进入您的实例:
1 |
ssh ec2 - user @ ec2 - 50 - 17 - 15 - 27.compute - 1.amazonaws.com - i ~ / crunchify . pem |
如果您使用的是 Windows 系统,那么您应该使用 Putty 作为 SSH 连接。 您可以按照这篇文章与 putty 建立联系。
如果您收到有关您的 .pem 文件权限太开放的错误消息,请按如下方式对您的 .pem 文件进行 chmod:
1 |
[ ec2 - user ~ ] $ chmod 600 ~ / crunchify . pem |
在本教程中,您需要执行许多 shell 命令,并且大多数命令都需要 root 访问权限。 因此,为避免这种情况,我们将通过此命令一次性切换用户来为所有命令加上 sudo 前缀。
1 |
[ ec2 - user ~ ] $ sudo su |
4. 安装 Apache Web Server 以运行 PHP
要安装 Apache Web 服务器,请输入终端:
1 2 3 4 |
[ ec2 - user ~ ] $ sudo yum - y install python - simplejson # Install PHP latest version [ ec2 - user ~ ] $ sudo yum update # System wide upgrade [ ec2 - user ~ ] $ sudo yum install - y default - jre # Install Java (just to be safe) [ ec2 - user ~ ] $ sudo yum install httpd # Install HTTPD server |
启动 Apache Web 服务器:
1 |
[ ec2 - user ~ ] $ service httpd start |
设置后,要测试您的 Web 服务器,请打开浏览器并访问您的网站:
1 |
http : //ec2-50-17-15-27.compute-1.amazonaws.com |
(使用您的实际公共 DNS 名称)。 您应该会看到一个标准的亚马逊占位符默认页面。
5.安装PHP运行WordPress
要安装 PHP,请在终端中输入:
1 |
[ ec2 - user ~ ] $ yum install php php - mysql |
安装php成功后重启Apache Web Server:
1 |
[ ec2 - user ~ ] $ service httpd restart |
创建一个页面来测试您的 PHP 安装:
1 2 |
[ ec2 - user ~ ] $ cd / var / www / html [ ec2 - user ~ ] $ vi test . php |
- 输入
i
启动插入模式 - 键入
<?php phpinfo() ?>
- 输入
:wq
写入文件并退出 vi
打开浏览器并访问 test.php 以测试您的 PHP 安装:
1 |
http : //ec2-50-17-15-27.compute-1.amazonaws.com/test.php |
(使用您的公共 DNS 名称)
6.安装MySQL添加数据库
要安装 MySQL,请键入:
1 |
[ ec2 - user ~ ] $ yum install mysql - server |
启动 MySQL:
1 |
[ ec2 - user ~ ] $ service mysqld start |
创建你的“博客”数据库:
1 |
[ ec2 - user ~ ] $ mysqladmin - u root create blog |
保护您的数据库:
1 |
[ ec2 - user ~ ] $ mysql_secure_installation |
回答向导问题如下:
- 输入root的当前密码:按return表示无
- 更改根密码:Y
- 新密码:输入您的新密码
- 删除匿名用户:Y
- 远程禁止root登录:是
- 删除测试数据库并访问它:Y
- 现在重新加载权限表:Y
7. 安装 WordPress
要安装 WordPress,请键入:
1 2 |
[ ec2 - user ~ ] $ cd / var / www / html [ ec2 - user ~ ] $ wget http : //wordpress.org/latest.tar.gz |
解压 tar.gz 文件类型:
1 |
[ ec2 - user ~ ] $ tar - xzvf latest . tar . gzcd |
这将在其自己的WordPress
目录中解压缩 WordPress。

我喜欢将 WordPress 放在一个单独的目录中,但如果你想将它安装到像“http://your-site.com/blog”这样的子域,我宁愿将它重命名为“blog”:
1 |
[ ec2 - user ~ ] $ mv wordpress blog |
否则通过键入以下内容将所有文件移动到父文件夹:
1 |
[ ec2 - user ~ ] $ mv * . * . . |
创建 WordPress wp-config.php 文件:
1 2 3 |
[ ec2 - user ~ ] $ cd blog [ ec2 - user ~ ] $ mv wp - config - sample . php wp - config . php [ ec2 - user ~ ] $ vi wp - config . php |
- 键入
i
以启动插入模式。
修改数据库连接参数如下:
1 2 3 4 |
define ( ‘ DB_NAME ’ , ‘ blog ’ ) ; define ( ‘ DB_USER ’ , ‘ root ’ ) ; define ( ‘ DB_PASSWORD ’ , ‘ YOUR_PASSWORD ’ ) ; define ( ‘ DB_HOST ’ , ‘ localhost ’ ) ; |
- 然后按一次
esc
- 输入
:wq
写入文件并退出 vi
打开浏览器并访问您的博客:
1 |
http : //ec2-50-17-15-27.compute-1.amazonaws.com/blog (Use your public DNS name). |
这应该会打开 WordPress 安装配置过程。
提示:允许 WordPress 使用永久链接
WordPress 永久链接需要使用 Apache .htaccess 文件才能正常工作,但这在 Amazon Linux 上默认不启用。 使用此过程以允许 Apache 文档根目录中的所有覆盖。
使用您喜欢的文本编辑器(例如 nano 或 vim)打开 httpd.conf 文件。 如果您没有喜欢的文本编辑器,nano 对初学者来说更容易使用。
1 |
[ ec2 - user wordpress ] $ sudo vim / etc / httpd / conf / httpd . conf |
找到以 <Directory “ /var/www/html
” 开头的部分。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
< Directory "/var/www/html" > # # Possible values for the Options directive are "None", "All", # or any combination of: # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # Note that "MultiViews" must be named *explicitly* --- "Options All" # doesn't give it to you. # # The Options directive is both complicated and important. Please see # http://httpd.apache.org/docs/2.4/mod/core.html#options # for more information. # Options Indexes FollowSymLinks # # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride None # # Controls who can get stuff from this server. # Require all granted < / Directory > |
将上述部分中的AllowOverride None
行更改为AllowOverride All
。
笔记:
该文件中有多个AllowOverride
行; 确保更改 <Directory "/var/www/html"
> 部分中的行。
1 |
AllowOverride All |
- 保存文件并退出文本编辑器。
8.映射IP地址和域名
要在生产中使用您的博客,您必须:
- 将 IP 地址关联到您的实例
- 将您的域名映射到该 IP 地址
- 要将 IP 地址关联到您的实例:
脚步:
- 在 AWS 管理控制台中,单击弹性 IP(左侧导航栏)
- 单击分配新地址,然后单击“是,分配”按钮确认
- 右键单击新分配的 IP 地址,然后在弹出菜单中选择“关联”。 选择您刚刚创建的实例,然后单击“是,关联”
- 要将您的域名映射到您的 IP 地址,您必须使用您的域名注册商提供的工具。
- 如果您使用 GoDaddy,请将 NS73.DOMAINCONTROL.COM 和 NS74.DOMAINCONTROL.COM 指定为您的域的名称服务器,并使用 DNS 管理器修改 A 记录并指向您的 IP 地址。
- 正确配置和映射所有内容后,访问 WordPress 管理控制台中的常规设置,并确保使用您的域名正确指定 WordPress 地址和站点地址
其他方法:使用 wp-cli 更改您的 WordPress 站点 URL
记下您的实例的旧站点 URL 和新站点 URL。 当您安装 WordPress 时,旧站点 URL 可能是您的 EC2 实例的公共 DNS 名称。 新站点 URL 是您的 EC2 实例的当前公有 DNS 名称。
如果您不确定您的旧站点 URL,您可以使用 curl 通过以下命令找到它。
1 |
[ ec2 - user ~ ] $ curl localhost | grep wp - content |
您应该会在输出中看到对旧公共 DNS 名称的引用,如下所示(旧站点 URL 为红色):
1 |
<script type = 'text/javascript' src = http : //ec2-50-17-15-27.compute-1.amazonaws.com/blog/wp-content/themes/twentyfifteen/js/functions.js?ver=20150330'></script> |
使用以下命令下载 wp-cli。
1 |
[ ec2 - user ~ ] $ curl - O https : //raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar |
使用以下命令搜索并替换 WordPress 安装中的旧站点 URL。 替换您的 EC2 实例的旧站点和新站点 URL 以及 WordPress 安装的路径(通常是/var/www/html
或/var/www/html/blog
)。
1 |
[ ec2 - user ~ ] $ php wp - cli . phar search - replace 'old_site_url' 'new_site_url' -- path =/ path / to / wordpress / installation -- skip - columns = guid |
在网络浏览器中,输入您的 WordPress 博客的新站点 URL,以验证该站点是否再次正常工作。
而已。
您已成功创建LAMP 环境并在 Amazon EC2 上安装了 WordPress 。 如果您遇到任何类型的错误或陷入某些任务,请在此处发表评论让我们知道。
我们将尽力为您的问题提供解决方案。