= 使用 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** 成为赞助商。任何金额表示赞赏!