我正在尝试学习如何在GCP上托管网站,并且刚刚完成了App Engine快速入门,它为我提供了一个可运行的appspot.com域,该域运行于helloworld.go上。
但是现在我想尝试一个经过测试可以在本地工作的预制html模板(包含.html,.DS_STORE和css / fonts / images / js文件夹)。
在“托管静态网站”教程之后,我将html模板文件夹上载到了我的存储桶“ .... appspot.com”中,并使整个存储桶可以公开查看/阅读。然后,我禁用并重新启用了App Engine会话,以尝试将其重置。
但是,URL仍然加载快速入门中使用的默认“ Hello,world”纯文本。
对于App Engine上的网络托管的工作方式,我可能有一个非常根本的误解。有人可以检查我想做的事是否合理,如果可以,我实际上该怎么做?
编辑:我还成功部署了Quickstart附带的其他代码示例,但仍然没有弄清楚如何忽略这些示例并直接从存储桶中部署。
答案 0 :(得分:1)
我了解到您在Google Cloud Storage存储桶中有一个静态HTML页面,并且您希望App Engine应用程序指向该HTML页面。
可以做到这一点,只需从存储桶中取出文件,然后打印内容,但是如果您只想要一个静态页面,则最好的选择如下:
链接将类似于:https://storage.googleapis.com/
编辑
根据OP的要求,链接https://storage.googleapis.com/< YOUR_BUCKET >/index.html
确实很长,而且不太友好,因此,这是一本有关如何将自定义域附加到您的Google Cloud Storage存储桶的小教程。
转到Google Search Console并遵循该小型教程,这只是为了验证您的域确实是您的域。它将要求您将文件上传到您的域中。为此,就像
一样简单2.1。将您的域指向Compute Engine实例的外部IP 您安装了apache的文件及其中的文件。
2.2。您可以将预制的Compute Engine实例与指示灯一起使用, Marketplace。
2.3。只需将Google提供的文件上传到 / var / www / html /新实例中。
2.4。验证完成后,删除此Compute Engine实例以 不要浪费钱。
3。使用与经过验证的域相同的名称创建一个存储桶,这意味着,如果您的域为“ larrycai.tk”,则您的存储桶应称为“ larrycai.tk”。如果为“ 2”。设置正确,它将使您创建该存储桶,否则,将显示一条错误消息,提示您需要验证自己是该域的所有者。
4。再次转到您的域提供商(在我的情况下为freenom),然后在DNS菜单中添加以下记录:
如您所见,您需要添加一个CNAME记录,目标将是c.storage.googleapis.com
,如果它要求您设置名称,只需添加您的域“ larrycai.tk”。
5.(可选)如果要将存储桶url重定向到主文件(例如index.html),只需运行以下命令:
gsutil web set -m index.html gs://[your_bucket]
现在,通过所有这些步骤,您应该可以在自己的域中看到静态网页。
答案 1 :(得分:0)
使用Google Cloud Platform部署网站有多种方法。 “托管静态网站”教程是指仅使用Cloud Storage托管静态网站。
要使用App Engine托管静态网站,您需要编辑应用程序的app.yaml文件并创建指向静态网站的请求处理程序。
当您使用go qwikstart教程时,我将假设您的目录如下所示:
helloworld
|-- app.yaml
|-- helloworld.go
|-- helloword_test.go
www
www
文件夹在app.yaml文件中,添加以下内容,并将www
替换为您的文件夹名称:
handlers:
- url: /
static_files: www/index.html
upload: www/index.html
- url: /(.*)
static_files: www/\1
upload: www/(.*)
使用gcloud app deploy
部署应用程序。
有关更多信息,Google提供了有关为以下对象提供静态内容的文档: