WordPress S3教程:如何将WordPress连接到Amazon S3桶

寻找WordPress S3教程来启动WordPress站点并使用Amazon S3运行?在这篇文章中,我将带你通过一切你需要知道的关于WordPress和Amazon S3。

首先,我将从Amazon S3的概述*实际上*is,以及如何让WordPress站点受益。然后,我将带您完成将WordPress站点的文件卸载到Amazon S3所需的确切过程。

有很多东西要覆盖,所以让我们跳进去……

Amazon S3是什么??

亚马逊S3从Amazon Web服务是一个对象存储服务。你可能没有意识到,但是互联网的大部分依赖于亚马逊S3,这就是为什么即使一个地点的S3短暂中断也会导致整个互联网……, 吓坏了

我不是超级感兴趣进入什么是对象存储的具体细节(维基百科可以帮助你)相反,我对此更感兴趣Amazon S3和对象存储如何连接到WordPress站点

WordPress Amazon S3
最常见的使用Amazon S3存储的所有文件,你通常会在云中存储在你的WordPress媒体库。基本上,你可以储存(“卸载”你的:

  • 🖼️ images
  • 📹视频
  • 🎵音频文件
  • 📁PDF文档
  • 等。

除此之外,有些人也使用S3来存储诸如CSS之类的资产,JavaScript等。

每个Amazon S3存储区域称为桶。一桶基本上是一个收集的文件(如果想知道这些文件实际上是如何存储的,可以阅读有关对象存储的信息

因此,本质上,而不是将文件存储在您自己的服务器上,您将把它们存储在Amazon S3的一个桶中。

在你的WordPress网站上使用Amazon S3有什么好处??

  • 减少对服务器的请求——因为你的服务器不再提供媒体文件(或潜在的资产),您可以减少页面加载时间。
  • 更实惠的存储-如果你们碰头主机的存储限制,我几乎可以保证,S3的存储价格比你的主机所收取的费用要便宜。
  • 独立媒体–因为您的媒体文件与您的站点分离,移动WordPress站点要容易得多(比如主机之间)您基本上只是移动PHP文件,几乎不占空间。
  • 可扩展性——因为Amazon S3权力整个网络(好吧,那有点夸张。)你可以非常自信,亚马逊可以扩展你的网站所发生的一切。

这是有趣的部分:

Amazon S3是免费为您的第一年(5 gb的存储)。甚至在那之后,它的令人惊讶的是负担得起的

Amazon S3和CDN的区别是什么??

很多人在谈论亚马逊S3时就好像它与CDN一样。我明白为什么,肯定有一些表面上的相似之处,使其容易混淆这两个概念。

也就是说,像一个CDN,你可以选择从Amazon S3加载图片,而不是从你的WordPress站点的服务器。

但这里不是CDN:

在Amazon S3创建桶时,它是坐落在一个物理位置(可以选择)。

一个CDN,另一方面,分布在全球各地。

所以在这方面,Amazon S3使用自己的服务器(实际上有更多的共同点一个单一的物理位置)比CDN(全球很多地方

简而言之:

亚马逊S3:你一定可以从S3服务文件时你的访客,S3 主要的焦点是存储。
CDN:一个CDN集中 尽快交付文件,而不是负担得起地存储它们(如S3)。

为什么不直接使用CDN,然后呢??

好,事情是这样的:

您仍然可以使用CDN。这是令人惊讶的简单连接您的Amazon S3 bucket你最喜欢的CDN。您可以使用它从Cloudflare KeyCDN Stackpath。

亚马逊网络服务甚至有自己的CDN,称为CloudFront,这也是超级容易连接到Amazon S3。

事实上,如果你有全球听众,我建议你这样做

通过使用这两个,你:

  • 仍然获得S3的存储好处
  • 也得到一个CDN的性能优势

WordPress S3连接说明

如果你按照这篇文章的指示去做,这是你的WordPress站点是如何函数结束时这个WordPress S3教程:

  • 像往常一样,您将文件上传到WordPress媒体库(即。通过正规学校添加媒体按钮
  • 您选择的WordPress S3插件自动将这些文件复制或移动到Amazon S3
  • WordPress站点要么提供存储在S3上的文件,要么使用连接到S3桶的CDN

这就是你需要为了设置WordPress S3集成

要将WordPress连接到Amazon S3,你需要:

  • 一个Amazon Web服务帐户-这个可以免费注册。
  • 一个公共亚马逊S3桶–这是你的第一年免费(最多5GB)。我将向您展示如何创建一个。
  • 一个S3 WordPress插件–这帮助您自动将上传到WordPress的文件卸载到S3存储桶中。

您应该使用哪个WordPress S3插件??

有几个不同的WordPress S3插件可供选择:

  • WP卸载媒体Lite——一个相当慷慨的免费版,但这仅适用于免费版本新上传的文件。如果你去PRO,你也可以从S3存储和服务你的资产和上传现有的文件。同时也使得以后使用CDN变得非常容易(如果这是在您的计划中)。
  • w3total Cache–W3 Total Cache包含一个特性,如果您在W3 Total Cache设置中选择S3作为CDN,则允许将站点连接到Amazon S3。
  • 媒体库文件夹Pro S3–允许您使用文件夹管理WordPress媒体库,同时将所有或某些文件卸载到Amazon S3,并维护相同的文件夹结构。
  • 人类由S3上传–没有实际的接口,这GitHub-hostedHuman Made的项目不是为临时用户构建的。但是开发人员应该欣赏它。你可以在这里了解更多

我将在本教程中使用的WordPress S3插件

对于本教程,我要用WP卸载媒体Lite从美味的大脑,因为它是最著名的选择时,我写这篇文章。

但是关于设置过程,这里有一点要注意:

大部分的步骤将发生在Amazon S3接口和是相同的所有插件。这意味着你可能会跟随 大多数即使您决定使用其他插件之一,也可以使用这个指南。

唯一的区别是非常简短的部分发生在每个插件的接口。

如何使用WordPress与Amazon S3:逐步

这是你需要做的每件事都开始使用Amazon S3与你的WordPress站点:

也许不言而喻,但我强烈建议你备份您的站点在开始这个过程之前

步骤1:安装和激活WP插件卸载媒体Lite

你不打算做任何插件的接口。但是在你跳入Amazon S3接口,确保站点上安装并激活了插件是个好主意。

当你激活WP卸载媒体Lite,它会提示你定义您的AWS密钥

在接下来的几个步骤中,您将遵循该过程来实际生成这些密钥。

步骤2:在Amazon S3创建一个新的桶

如果您还没有创建一个免费的Amazon Web服务帐户,去现在就去做

一旦你创建您的帐户,从AWS帐户仪表板中导航到Amazon S3部分,或者点击这里直接进入S3

在S3接口,点击按钮创建桶:

亚马逊s3接口

在弹出界面上:

  • 给你的桶起个名字
  • 选择一个区域使它尽可能的接近你的目标受众,特别是如果你不打算使用CDN
  • 点击创建

创建s3桶

步骤3:设置你的桶的政策

为了让一切正常运转,您需要将S3桶公开。要做到这一点,你用一个叫做桶的政策

添加一个桶的政策,点击你的桶S3接口:

编辑桶

在上面的截图中,你可以看到我的另一个桶已经公开了,而yabo娱乐国际斗,我创建了本教程被标记为不公开。在这个步骤中,你想要那个公众水桶的指示器。

在下一个屏幕上,点击权限选项卡,然后选择铲斗政策

访问斗策略

您应该看到一个JSON代码编辑器。粘贴在下面片段并保存您的更改。

确保更换yabo娱乐国际用桶的实际名称

{"版本”:“2008—10-17”,“声明”:[{”席德”:AllowPublicRead,“效果:允许“,“校长“{“AWS:*}“行动“:s3: GetObject”,“资源“:arn:aws:s3:::yabo娱乐国际codeinwp/*”}]}

进入桶政策

一旦您保存您的更改,你应该看看你的桶标记为 公众在Amazon S3仪表板中:

公用桶

步骤4:创建一个我用户和政策

现在,您需要创建称为IAM用户的东西。这个用户基本上允许插件管理您的S3桶,如果你想让插件自动添加你上传到WordPress的文件,这是很重要的。

这是整个过程中最复杂的部分,所以我会逐步分解所有的内容,使用大量的截图。

一旦你完成这个过程它会给你自动洗手间钥匙插件要求和你差不多完成了。

要创建IAM用户,,转到您的AWS帐户中的IAM区域

从那里,选择用户标签:

iam用户仪表板

然后,点击添加用户在顶部:

创建IAM用户

添加用户接口,你需要给用户一个名字。然后,一定要选择程序访问在下面访问类型。一旦你做到了,点击接下来:权限

编程访问

在下一页,选择直接将现有政策选项卡和选择创建政策

附加策略

这将启动一个新窗口。在新的窗口中,去 杰森选项卡并粘贴在此代码片段中:

{"版本”:2012-10-17,“声明”:[{”效果:允许“,“行动“:【“s3: CreateBucket”,“s3: DeleteObject”,“S3:放置*,“S3:获取*,“s3:列表*”),“资源“:【“arn:aws:s3:::yabo娱乐国际codeinwp”,“arn:aws:s3:::yabo娱乐国际codeinwp/*”]}]}

确保替换yabo娱乐国际使用Amazon S3 bucket的实际名称

然后,点击审查政策底部:

IAM用户策略

在下一个屏幕上,给它起一个名字,然后单击 创建政策

保存策略

现在:

  • 从前面返回到IAM Add User选项卡
  • 点击刷新
  • 从列表中选择刚刚创建的策略(您可以通过名称搜索以节省时间
  • 点击下一步:回顾

搜索iam用户策略

在下一个屏幕上,点击创建用户

附加iam用户策略

在下一个屏幕上,您应该看到:

  • 访问密钥ID
  • 秘密访问密钥(您需要单击实际查看密钥

S3访问密钥

将这些值都放在手边,因为在下一步中需要它们。

Step 5: Add access keys to wp-config.php file

唷!你正式完成了AWS接口。

现在,你可以回到WordPress网站的友好范围。

具体地说,你需要编辑你的wp-config.php文件。您可以通过FTP或通过cPanel文件管理器执行此操作。

将下面的代码片段添加到wp-config.php文件中,确保用前一步中的实际键替换星号:

定义(“AS3CF_AWS_ACCESS_KEY_ID”,“* * * * * * * * * * * * * * * * * * * *”);定义(“AS3CF_AWS_SECRET_ACCESS_KEY”,“* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *”);;

Here's how it looks in my site's wp-config.php file:

向wp-config.php添加wordpress3访问密钥

确保保存您的更改。

步骤6:在WP卸载媒体Lite设置中选择S3 bucket

现在,去设置→卸载S3。

你想用什么桶??字段并单击保存桶

插入s3桶

一旦您保存您的更改,您应该看到完整的插件的接口:

全接口

注意——因为我是如何设置IAM用户策略的,的按钮浏览现有桶创建新的桶不工作。这实际上是故意的更加安全。

如果你不愿意为了安全而牺牲这个功能,您可以更改IAM用户策略下面列出的政策。但是,正如您将在同一篇文章中看到的,“美味的大脑”推荐我在桶的限制部分。

第七步:配置卸载S3设置(如果需要)

在这一点上,你已经完全准备好了。任何新的您上传的文件将自动卸载到Amazon S3。此外,插件会自动重写这些文件,这样的文件的url从Amazon S3服务而不是您的服务器。

您可以测试通过上传一个新媒体文件和观察当你插入它的源代码:

卸载媒体文件的示例

如果你想上传的插件现有的文件到Amazon S3,不过,你会需要高级版本

如果你想调整插件的任何功能,您可以在这里进行更改。但对于大多数情况,,默认设置应该可以

步骤8:(可选)将Amazon S3连接到CDN

就像我刚才说的,可以使用一个CDN与Amazon S3。

向您展示如何做每一个CDN提供商需要自己的了一篇冗长的文章,但是我可以给你一些指针。

如果您想连接到Amazon CloudFront,您可以通过以下方式从您的AWS帐户中正确地执行此操作在本教程中

等把发布商起源KeyCDN或StACKPATH,您只需要在来源网址当你设置CDN盒子。

要找到您的S3桶URL,只要遵循以下格式:

https://bucket_name.s3.amazonaws.com/

例如:

https://yabo娱乐国际codeinwp.s3.amazonaws.com/

甚至可以使用亚马逊S3的云耀斑尽管你可能需要重命名你的桶

一旦建立了CDN,您可以使用WP卸载媒体LiteCloudFront或自定义的域重写文件URL以使用CDN而不是S3桶的选项:

在cdn中使用s3

如果选择使用其他WordPress S3插件之一,这个CDN的推动者WP CDN重写插件可以做几乎相同的事情。

WordPress S3:一种有益的伙伴关系

通过使用WordPress S3插件,您可以轻松地卸载文件并利用Amazon Web服务的基础设施。

虽然这个过程可能需要30分钟左右完成设置,一旦你完成了,WordPress S3集成就非常轻松,不需要任何进一步的工作。

关于将WordPress站点连接到Amazon S3,还有其他问题吗??

留言吧,我们会尽力帮忙的!!

别忘了加入我们的速成课程以加速你的WordPress网站。通过一些简单的修复,您甚至可以减少50-80%的装载时间:

布局和演示卡罗尔K。