乐趣区

关于wordpress:在亚马逊云科技上搭建静态无服务器-WordPress每天仅需-001-美元

申明:
本文转自 DEV Community 网站,文章翻译由开发者社区提供;
点击下方链接,查看英文原文:

  • https://dev.to/aws-builders/s…

你可能认为这篇文章是题目党,但事实并非如此。我曾经在亚马逊云科技上搭建了一个功能齐全的动态无服务器 WordPress 解决方案,并装备寰球 CDN、WAF 和 A 级 SSL,每天只需破费 1 美分。它速度快、有弹性、可扩大,而且与许多 WordPress 网站不同的是,不容易蒙受暴力登录攻打。

要晓得, 你也能够做到这一点。 它位于一个开源的 Terraform 模块,我心愿这种简略的拜访形式可能颠覆互联网。30 分钟就能从零开始实现设置。

动态无服务器 WordPress 是什么?

动态无服务器 WordPress 是 TechToSpeech 的一个 Community Terraform 模块,只需一个注册域名,其 DNS 指向亚马逊云科技。

它创立一个残缺的基础设施框架,并启动一个长期的 WordPress 容器。和其余 WordPress 网站一样,你能够登录并进行自定义操作,最初将其公布为一个动态网站,依靠于寰球 CloudFront CDN 和 S3 Origin。实现之后,你能够敞开 WordPress 容器,这所有简直没有老本。

重点在于只需极少的配置,因为你须要的大部分资源都是依据行业最佳实际和高效运行老本进行预装置、预配置的。

你有想转换为动态无服务器 WordPress 的网站吗?没问题。

这里有很多内容要讲述,所以分成了两篇不同的文章:短版和长版。如果你想抓紧时间马上开始,请看第一篇;如果你想理解该解决方案的具体运行机制,请看第二篇。

如果你相熟亚马逊云科技,那么你很快就会弄明确。不过,即便你是第一次接触,短版中的步骤也能帮忙你疾速启动和运行。

短版

在以下步骤中,咱们会应用示例域 www.peter.cloud。

步骤 0 – 创立一个亚马逊云科技账户

步骤 1 – 域

在你的亚马逊云科技账户中,为域名创立一个 Route53 托 管区。创立后,它将为您的新网站显示四个 DNS 名称服务器。

进入域名注册地址(能够是亚马逊云科技自身,也能够是其余地址),将 DNS 服务器更新为刚刚创立的四个。

步骤 2 – 工具和凭证

确保你有 Terraform、Amazon-CLI(用户和凭证)和(可选但最好有)服务已启用的 Docker。

步骤 3 – 代码和布局

查看我的项目的 GitHub README,理解丰盛的代码实例,以便疾速进行设置和部署。

该模块简直可能本人实现全副工作,但这里有一些额定的特定资源,使其成为一个齐全不须要入手的端到端流程。须要装置 docker,正确配置 Amazon CLI 的默认区域和配置文件。

Terraform 初始化、布局、利用,而后坐下来喝杯茶。残缺的端到端创立流程应该须要 10 分钟左右。除非你操作有误,否则过程中不会产生谬误。不过,为了以防万一,请再进行一次布局和利用步骤。

步骤 4 – 启动 WordPress
启动 WordPress 和公布动态网站所须要创立的所有,都在步骤 3 里实现。但目前为止它尚未启动。如果没有增加可选的 Terraform 资源来触发 CodeBuild 作业,你须要返回所选地区的 CodeBuild 控制台,启动“-serverless-wordpress-docker-build”作业并期待实现(大概须要 2 分钟)。

将模块的启动“属性”从 0 批改为 1,而后再次运行“terraform apply”。Wordpress 当初将启动。首次设置大概须要 5 分钟,包含初始网站的创立、配置和必要插件的装置。

默认状况下,你的 WordPress 装置将在 http://wordpress.yourdomain.com(为什么没有 SSL?详情请查阅长版)。

默认的用户名是“supervisor”,默认的明码是“techtospeech.com”。你能够在模块配置中批改用户名、明码以及默认的子域,也能够登录 Wordpress 后进行批改。 请确保这样操作。

步骤 5 – 公布

当初,Wordpress 的装置和其余 WordPress 一样。你能够装置大多数插件(只管所有具备服务器端性能的插件都无奈在动态网站中运行)、任何你喜爱的主题,甚至能够导入以后网站的备份。像 Yoast 这样的 SEO 插件也能失常工作。如果网站闲置超过 5 分钟,后盾数据库就会暂停(以节俭费用),不过只有刷新治理控制台,提早几秒钟之后就会再次启动。

当你要进行容器时,将 Terraform 配置的“启动”属性切换回 0,而后从新运行“terraform 利用”。你也能够在亚马逊云科技控制台中手动将 ECS 服务更改为 0 工作。将来会有更好的办法来一键启动或暂停网站。进行容器不会失落任何数据——数据库将在后盾保留,同时保留的还有你装置的所有文件、图像、插件或主题。其状态会始终保留到下次启动。

不过, 至关重要的是,要记得敞开容器 。否则它会持续运行——即便如此,也不会产生太多费用,但这个解决方案的意义就在于省钱,而不是节约钱 (将来的另一项更新是闲置时主动敞开性能)。

当所有准备就绪后,就能够公布了。检查一下曾经主动装置的 WP2Static 插件和 WP2Static S3 插件。Leon Stafford 是这些插件的创建者。他是开源的动态 WordPress 巨匠,没有他,就没有这个我的项目的部署机制。更多对于 Leon 的内容请在长版中查阅。

你能够查看全副 WP2Static 选项,能够调整配置部署,但主动设置曾经事后填写了你要公布的内容。点击“生成动态网站”按钮,而后定期刷新日志,查看状态。该操作会抓取每个 URL 并重写到一个简洁的动态版本,而后间接推送到反对网站动态版本的 S3 存储桶。

这个过程须要 3-5 分钟,如果你的网站规模更大,耗时就会更长一些。咱们正在钻研更快的办法(欢送提供帮忙!),但目前与此设置捆绑的版本稳固、牢靠,只是须要一点急躁。

这个过程完结后,就功败垂成了! 返回 https 版本的网站(本示例是 https://www.peter.cloud),你会诧异地发现,网站看起来和以前一样,只不过当初它是无服务器的、动态的、由寰球 CDN 缓存的,不会因为某些单薄的 DDoS 攻打或 wp-login 暴力攻打而解体。试试返回 https://www.peter.cloud/wp-admin。哈,网站基本不存在!

真的每天只需 0.01 美元吗?

是的,但也不齐全是。这取决于具体情况。

看一下典型用例。假如你是一个板滞的技术人员,领有集体博客网站(我就是这样,我的网站是 petewilcock.com),你公布了一些文章,每天有 50 到 200 次点击量。在这些流量下,网站会以动态模式运行,不须要任何干涉,每天的老本大概为 0.01 美元,这是齐全非法的。

另一方面,假如你领有一家寰球驰名的大型内容生成企业,每月会公布数千篇文章,领有数百万次点击 …… 费用则多得多。流量方面的惟一可变老本是 CloudFront 调配费用,你能够利用 CloudFront Security Savings Bundle 取得折扣,降低成本。如果你的企业规模特地大,你能够间接向亚马逊云科技咨询定制 CloudFront 的价格。WAF 有一些不可避免的固定成本,会使运行老本每天至多减少 0.6 美元。但如果你立场不动摇,须要 WAF,那么我猜你能够负担得起。

我应用该设置运行几个动态 WordPress 网站,每月只需破费 1 美元购买一个 Savings Bundle,就能涵盖很多用量。之前,我运行的是一个带有 CPanel 许可的 T3 虚拟主机服务器,每年破费约 600 美元。因为某些起因,这样的比拟从严格意义上来讲并不偏心(例如,该设置目前不能解决电子邮件,但请留神,将来会更新!),然而你开始理解到这与根本网站的“传统”托管设置之间的区别。即便是其余“动态”Wordpress 网站的供应商也无奈与之竞争,因为他们须要利润,而你不须要。

惟一须要留神的其余老本,是反对 WordPress 的 ECS Fargate 容器的运行老本(它以 Spot 模式运行,所以十分便宜),以及反对 WordPress 数据库的 RDS Aurora Serverless v1 数据库。实际上这是最贵的局部(你猜对了,如果你想就义功能性和便利性,将来将提供一个更便宜的版本),但只会在你被动批改网站的时候免费。举个例子,如果我花了几个小时编辑网站,可能须要破费大概 0.3 美元。最要害的是,在绝大多数状况下,如果你不增加内容,简直不须要任何费用。

问题解决

任何设置都不会是白璧无瑕的,所以,如果你在应用 Terraform 模块时有任何问题,请在咱们的 GitHub 上报告,咱们会进行查看。咱们也欢送你的奉献。

如果你在应用 WP2Static 插件时遇到问题,请查看他们的问题页面,理解常见问题和解决方案,你遇到的任何问题都可能依照你心愿的形式解决。你能够随时降级该插件或 WordPress——但肯定要先备份。我举荐 UpdraftPlus,它是一款优良的收费 WordPress 备份插件。

总结

首先再次揭示一下。 当你实现时,不要遗记敞开你的 WordPress 容器。

这个模块是通过几个月的辛苦迭代的成绩,既要为我本人应用,又要具备宽泛的适用性,这样在公开公布后才不会使本人感到难堪。它汇合了我自 2014 年开始应用亚马逊云科技以来的所有教训,并将我把握的 DevOps 和 Web 开发的每一个元素压缩到一个紧凑的解决方案中,任何人都能够应用。我心愿它对你有所帮忙。

文章作者:Pete Wilcock
Pete Wilcock for AWS Community Builders

退出移动版