如何从 Google Cloud VM 部署 Hugo 网站?
哈喽!大家好,很高兴又见面了,我是编程网的一名作者,今天由我给大家带来一篇《如何从 Google Cloud VM 部署 Hugo 网站?》,本文主要会讲到等等知识点,希望大家一起学习进步,也欢迎大家关注、点赞、收藏、转发! 下面就一起来看看吧!
问题内容我已使用外部 ip 地址 35.225.45.169 启动了 google cloud 虚拟机:
只是为了检查我是否可以从那里提供网站服务,我克隆了一个 hugo 启动的项目并运行 hugo server --bind=0.0.0.0 --baseurl=http://0.0.0.0:1313
: p>
kurt_peek@mdm:~/synamdm$ hugo server --bind=0.0.0.0 --baseurl=http://0.0.0.0:1313
building sites … warn 2020/01/02 04:36:44 .file.dir on zero object. wrap it in if or with: {{ with .file }}{{ .dir }
}{{ end }}
| en
+------------------+----+
pages | 16
paginator pages | 0
non-page files | 0
static files | 20
processed images | 0
aliases | 0
sitemaps | 1
cleaned | 0
built in 112 ms
watching for changes in /home/kurt_peek/synamdm/{content,layouts,static,themes}
watching for config changes in /home/kurt_peek/synamdm/config.toml
environment: "development"
serving pages from memory
running in fast render mode. for full rebuilds on change: hugo server --disablefastrender
web server is available at http://0.0.0.0:1313/ (bind address 0.0.0.0)
press ctrl+c to stop
现在我希望能够在浏览器中访问 http://35.225.45.169:1313/ 并且该网站可见,但我发现事实并非如此;相反,操作超时(如下所示,使用 curl
命令):
> curl http://35.225.45.169:1313
curl: (7) Failed to connect to 35.225.45.169 port 1313: Operation timed out
我在这里遗漏了什么吗?我应该如何将此静态网站从 google cloud compute 实例部署到互联网?
更新
根据 ahmet 的评论,我编辑了虚拟机以允许 http 和 https 流量。这似乎在 vpc 网络选项卡中创建了多个防火墙规则(见下文)。
但是,此后我仍然无法访问http://35.225.45.169:1313/;我必须定义什么具体规则吗?
解决方案
如何从 Google Cloud VM 部署 Hugo 网站?
正如 pradeep 提到的,您需要创建一个新的防火墙规则,允许端口 tcp:1313
接收和传出流量。
Here 您将找到有关如何在 Google Cloud Platform 中创建防火墙规则的更多详细信息。
尽管如此,我认为根据您想要服务的网站,有更好的方法。 Here 您会发现可用于在 Google Cloud Platform 中提供网站服务的不同选项,但主要有以下三种:
- 使用 Google 云存储。
- 使用 Google App Engine。
- Firebase 托管。
谷歌云存储
如果您提供静态网站,我强烈建议您使用 Google Cloud Storage 或 Firebase Hosting。确实,它们没有负载平衡功能或日志记录,但如果您是 Google Cloud Platform 的新手,它们是一种简单的方法。
如图 here 所示,如果您想托管静态网站,可以在 Cloud Storage 中执行此操作,但您需要创建 Cloud Storage Bucket,并将内容上传到其中。
Here 您将找到有关如何使用 Google Cloud Storage 在 Google Cloud Platform 中托管静态网站的更多信息和教程。
Google 应用引擎
另一种选择是使用 App Engine,它不仅完全由 Google 的基础设施管理,而且比启动虚拟机并确保 X 端口是否打开更简单,Google 会为您做这件事。
我附上了有关如何托管 Hugo on Google App Engine 的教程。
Firebase 托管
最后,您还可以使用 Firebase Hosting 来为您的 Hugo 网站提供服务。我附上了一些有关 Firebase Hosting here 的更多详细信息的文档。
我希望它有帮助。
您必须创建一个允许 tcp:1313
端口的新防火墙规则。
但是为什么要在 GCP 虚拟机上托管 Hugo 网站? 您是否检查过在 GCS 上托管 Hugo 网站或使用 Firebase? https://gohugo.io/hosting-and-deployment/hosting-on-firebase/
今天带大家了解了的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注编程网公众号,一起学习编程~
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341