= 使用 Google Cloud 和 Cloudflare 托管一个免费的 WordPress 网站 == 让我们了解适用于小型网站和企业的经济型 WordPress 解决方案。 == 6 分钟阅读 目录 - 问题陈述 - 我对 GCP 有一些经验,也许我需要先看看那里? ¡ - 价格呢? ¡ - GCE 是一个虚拟机实例,这意味着我必须从头开始配置所有内容? ¡ - 我需要手动配置什么? ¡ - 第 1 步,VM 配置如何? ¡ - 第二步,如何维护静态IP地址和设置域名? ¡ - 第三步,如何设置SSL证书? ¡ - 第 4 步,如何设置 HTTP/2? ¡ - 为什么我在账单报告中看到一些小额费用?我以为这应该是免费的? ¡ - 结束 这更多是关于描述我个人的开发和调试经验,而不是关于该主题的分步教程。这篇文章提出了一些关键点和我在完成这个项目时遇到的问题。欢迎更正任何错误!一个 == 问题陈述 == WordPress 网站是使用多个插件(例如 Elementor)构建的。要使用插件,我需要一个 WordPress.com 上的商业计划,每月收费 25 美元,这对我的用例来说太贵了。话虽如此,我需要一个预算更多的选择,那么我应该从哪里开始呢? 我对 GCP 有一些经验,也许我需要先看看那里? ¡ 事实上,他们确实提供了解决方案 我的目标是拥有类似于 WordPress.com 的东西,一个有点到无代码的环境。通过管理面板中的 GUI 进行交互。在这三者之间,只有 Google Compute Engine (GCE) 能满足我的需求,所以我选择了它 价格呢? ¡ 幸运的是,Google 为 GCE 提​​供了一个免费层。 2021年,谷歌升级了免费GCE实例的规格 f1-微到 e2-micro,这对我的用例来说已经足够了 GCE 是一个虚拟机实例,这意味着我必须从头开始配置所有内容? ¡ 嗯,这在某种意义上是正确的,也是一个缺点。使用像 WordPress.com 这样的托管服务意味着我还为所有后端管理(软件堆栈和服务器配置)付费。选择自托管路线意味着我需要做所有事情,还是我需要做? 通常,一个成熟的平台会提供某种预配置包。在这里,我有谷歌云市场。只需使用关键字“WordPress”进行常规搜索,就会出现几个选项。就我而言,我选择 *通过 Bitnami 和 Automattic 认证的 WordPress *。这个包是免费的,可以为我完成大部分配置。此外,这个包在某种意义上是跨平台的,所以我在去另一个云提供商时会有同样的体验,比如亚马逊网络服务(AWS) **请注意,似乎没有官方的方式来更新已安装的堆栈,无论是通过 GUI 还是 SSH。我需要删除一个 VM 并使用最新的 Bitnami 包创建一个新实例 我需要手动配置什么? ¡ 这里有一些要考虑的 - 虚拟机规格设置 - 域设置、IP 设置、DNSSEC - SSL设置 - HTTP/2 设置。默认配置为 HTTP/1.1 第1步,VM配置如何? ¡ 使用免费套餐中指定的配置,我使用 - 区域: us-west1-a - 机器的种类: e2微 - 启动盘:30 GB,HDD 其他设置为默认设置。接受服务条款并继续创建实例。这可能需要几分钟的时间。完成后,现在我可以使用提供的 VM 的外部 IP 地址转到 WordPress 管理员登录 这是自托管的,所以我拥有常规 WordPress 应用程序的全部功能。插件现在可用。一些在 WordPress.com 上实现的特定功能不会在这里,我猜是专有的? 第二步,如何维护静态IP地址和设置域名? ¡ 默认情况下,GCE 的 IP 地址是临时的,这意味着它会在每次重置后发生变化。我需要一个静态 IP 地址,以便我的域始终指向正确的位置。为此,请访问 VPC 网络/外部 IP 地址并为 GCE 实例保留静态 IP 地址 我需要注册一个域名。大多数域名注册商也有 DNS 服务。然后我将我的域设置为指向 GCE 静态 IP 地址。这只是一个初始配置 在 Cloudflare DNS 页面上,有一个 DNSSEC 设置说明。设置相当简单,主要只是复制和粘贴值 第三步,如何设置SSL证书? €€€€€€€ 截至目前,我的网站是由于缺少 SSL 证书。有 2 个选项: - 从您的域注册商处购买证书。通常,这是不必要的,除非您是一个大客户,需要对数百个域、子域进行适当的 SSL 管理和合规性 - 使用可通过 SSH 注册的免费 Let's Encrypt SSL 认证。说明可以在这里看到 请注意,即使指令是在 Amazon Web Service (AWS) 上,它仍然是一个 Bitnami 堆栈,所以配置是相同的。必须注册所有目标子域,否则会导致 SSL 握手错误(例如,映射 www 到非 www 通过 CNAME 记录) 现在,返回 Cloudflare,并将 SSL 模式更改为 完全(严格)。您的网站应该是安全的,这可以通过浏览器栏上的挂锁来检查。别忘了,Cloudflare 还有很多服务,你可以根据需要微调它们 第 4 步,如何设置 HTTP/2? ¡ 与 HTTP/1.1 协议相比,HTTP/2 提供了更多优势。另一家大型云提供商 Digital Ocean 的这篇文章中有更详细的讨论。在我看来最值得注意的是速度提升,可以通过 Lighthouse 测试看到 Bitnami 有一个关于使用 HTTP/2 配置 Apache 服务器的官方文档(我们的 Binami WordPress 包使用) 可以使用 Key CDN 站点测试 HTTP/2 支持,看来我的是成功的 为什么我在账单报告中看到一些小额费用?我以为这应该是免费的? ¡ 是的,安装是免费的,前提是我要遵守提供的配额。如下图所示,我的计算引擎实例有一些费用。我还没有找到根本原因,但我相信这是由于到中国或澳大利亚(非免费出口目的地)的出口流量。在一些小的尖峰之后,它再次返回到零。如果您不为那些地区的客户提供服务,也许 IP 块是一种选择 == 结束了 这一次,我又学到了一个省钱的方法,也是一个玩转GCE服务的机会。当然,在考虑将应用程序投入生产之前还有更多的任务,但是,我可以使用 All-in-One WP Migration 将旧站点迁移到 GCE,所以没有什么可做的 我想说,一个意想不到但重要的教训是关于“免费”GCE 实例的收费。这意味着我需要在任何情况下都仔细监控账单。截至目前,当计费金额超过阈值时,GCP 似乎没有关闭服务的选项。幸运的是,这不是我的 1000 美元 你觉得这篇文章有价值吗? 支持 **Hung Vu** 成为赞助商。任何金额表示赞赏!