Amazon S3 是 Amazon Web Services 许多产品的一部分,用作存储解决方案。 它由需要存储大文件(例如软件、游戏、视频、pdf、音频文件、下载等)和额外备份的大型网站使用。 亚马逊因其可靠性和极低的存储成本而成为存储和备份的理想选择。 Netflix、Airbnb、SmugMug、Nasdaq 等大型门户网站依靠 S3 以低成本存储大量数据。
Amazon S3 专门处理大容量存储。 使用此存储选项,可以保证存储成本将比您的 WordPress 主机低很多。 将媒体驻留在 AWS 不仅经济高效,而且第一年几乎免费(最多 5 GB 存储)。 由于大型媒体文件是从 Amazon 调用的,因此可以减轻 WordPress 网站的负载,从而加快加载时间。 S3 不仅可以保存游戏、PDF、视频、音频等文件,还可以保存 CSS、JavaScript 等资产。
我们将 Amazon S3 存储位置称为“存储桶”。 它是您保存在其他地方的文件集合,以便减少网站上的负载以获得更好的性能。
要将 WordPress 与 Amazon S3 集成,您需要:
为了将 S3 与 WordPress 集成,我们推荐WP Media Folder和 WP Offload Mediaplugin。 当您将文件上传到媒体库时,此plugin 您还可以配置添加 CDN,例如 Amazon CloudFront、MaxCDN 或 KeyCDN。 如果您决定获取资产插件,那么WP Offload Media Plugin可以识别您的网站使用的资产(CSS、JS、图像等),并从您选择的 CDN 中获取它们。
在我们开始此过程之前,建议您备份您的网站以应对任何不良情况。
在开始集成过程之前,最好确保您已在站点上安装并激活了该plugin。
激活plugin时,系统将提示您定义 AWS 密钥。 (这就是我们接下来要做的事情——生成 AWS 密钥)
创建免费的 Amazon Web Services 账户后,从 AWS 控制面板导航至 Amazon S3 部分。
在 S3 界面中,单击“创建存储桶”按钮。
在弹出的界面上填写这些详细信息:
为了网站的顺利运行,请通过设置存储桶策略来公开您的 S3 存储桶。
在 S3 界面中,单击您的存储桶:
新创建的“ codeinwp”存储桶被标记为Not public ,但您需要该存储桶的 Public 指示器。
单击“权限”选项卡 > 选择“存储桶策略”:
您可以看到一个 JSON 代码编辑器。 将以下代码片段粘贴到编辑器中并保存更改。
{
“版本”:“2008-10-17”,
“陈述”: [
{
“Sid”:“允许公共阅读”,
“效果”:“允许”,
“主要的”: {
“AWS”:“*”
},
“操作”:“s3:GetObject”,
“资源”:“arn:aws:s3:::codeinwp/*”
}
]
}
注意:您的存储桶名称应与代码片段中使用的名称匹配。 如果您将存储桶命名为“XYZ”,请确保将 codeinwp 替换为“XYZ”。
保存更改后,存储桶将在 Amazon S3 控制面板中公共
创建 IAM 用户允许plugin管理您的 S3 存储桶。 如果您希望plugin自动复制上传到 WordPress 的文件,这是必须的。
这一步很复杂,因此我们将其分解为许多简单的步骤,以便更好地理解。
完成此过程后,您将获得plugin所需的 AWS 密钥。
要创建 IAM 用户,请前往您的 AWS 账户中的 IAM 区域。
选择用户选项卡:
点击顶部的添加用户
在“添加用户”界面中,提供用户的名称。 不要忘记访问类型下编程访问。 然后,单击下一步:权限:
在下一个窗口中,选择直接附加现有策略选项卡,然后选择创建策略:
这将导致一个新窗口。 在新窗口中,转到 JSON 选项卡并粘贴以下代码片段:
{
“版本”:“2012-10-17”,
“陈述”: [
{
“效果”:“允许”,
“行动”: [
“s3:创建桶”,
“s3:删除对象”,
“s3:放入*”,
“s3:获取*”,
“s3:列表*”
],
“资源”:[
“arn:aws:s3:::codeinwp”,
“arn:aws:s3:::codeinwp/*”
]
}
]
}
确保将 codeinwp 的两个实例替换为您的 Amazon S3 存储桶的实际名称 (XYZ)。
之后,单击底部的“查看策略”
在下一个屏幕上,提供名称,然后单击创建策略:
现在,返回到您之前访问过的IAM 添加用户刷新 >从列表中选择您刚刚创建的策略(您可以通过按名称搜索来节省时间) > 单击下一步:查看:
在下一个屏幕上,单击创建用户:
您应该能够在下一个屏幕上看到这些:
提示:您可能希望将这两个值保留在手边,因为您将在下一步中需要它们。
现在,当您使用完 AWS 界面后,您可以返回 WordPress 站点以进行轻松配置。
在这里,您需要处理您的 wp-config.php 文件。 有两种方法可以实现 - 通过 FTP 或 cPanel 文件管理器。
将以下代码片段添加到您的 wp-config.php 文件中。 不要忘记将星号替换为上一步中的实际密钥(我们告诉您的密钥放在手边):
定义( 'AS3CF_AWS_ACCESS_KEY_ID', '********************' );
定义( 'AS3CF_AWS_SECRET_ACCESS_KEY', '*********************' );
这是我网站的 wp-config.php 文件中的样子:
不要忘记保存所做的更改。
转至设置 → 卸载 S3。
系统将提示您输入存储桶的名称:您想使用哪个存储桶? 在字段中填写您的 S3 存储桶的名称 (XYZ),然后单击保存存储桶:
保存更改后,您可以看到完整的plugin界面:
注意:现有存储桶或创建新存储桶的按钮将不起作用。
到目前为止,您已基本完成设置。 您所有新上传的内容都会自动卸载到 Amazon S3。 此外,该plugin将自动重写这些文件的文件 URL。 这样,文件将从 Amazon S3 而不是您的服务器发送。
要将现有文件上传到 Amazon S3,您需要高级版本。
如果您想更改任何特定内容,您可以尝试该plugin的功能。 然而,对于大多数情况,默认设置就很好。
如果您的文件不在服务器上,则服务器的负载将会减少,因为它不再负责提供媒体文件或潜在资产。 这可以更快地加载页面。
如果您担心超出主机的存储限制,S3 可以为此提供最便宜的解决方案。
由于大型媒体文件与您的站点保持分离,因此升级或在 WordPress 站点之间移动(例如在主机之间)要容易得多。 移动时,您只是移动 PHP 文件,这些文件非常轻且易于移动。
Amazon S3 为互联网的主要部分提供支持。 这意味着如果 Ammmazzzon 扩大规模,您的网站也将扩大规模。
Amazon S3 第一年免费(最多 5GB 存储)。
您可以使用 WordPress S3plugin轻松卸载大型媒体文件,并且还可以从 Amazon Web Services 的基础设施中受益。 整个过程不超过30分钟。 一旦您将 WordPressss 与 Amazon S3 集成,您的网站将更加高效、快速,您的访问者也会更加满意。