在 Google App Engine 上托管静态网站

区域 ID

REGION_ID 是 Google 根据您在创建应用时选择的区域分配的缩写代码。此代码不对应于国家/地区或省,尽管某些区域 ID 可能类似于常用国家/地区代码和省代码。对于 2020 年 2 月以后创建的应用,REGION_ID.r 包含在 App Engine 网址中。对于在此日期之前创建的现有应用,网址中的区域 ID 是可选的。

详细了解区域 ID

您可以使用 Google App Engine 托管静态网站。静态网页可以包含 HTML、CSS 和 JavaScript 等客户端技术。App Engine 提供免费方案,因此在 App Engine 上托管静态网站的费用可能低于使用传统托管服务提供商的费用。

在 App Engine 上托管的网站托管在 REGION_ID.r.appspot.com 子网域上,例如 [my-project-id].uc.r.appspot.com。部署网站后,您可以将自己的域名映射到在 App Engine 上托管的网站上。

准备工作

如要在 Google App Engine 上托管网站,您需要先执行以下操作:

  1. 新建一个 Google Cloud 控制台项目,或者检索要使用的现有项目的项目 ID:

    转到“项目”页面

  2. 安装并初始化 Google Cloud CLI:

    下载 SDK

创建要在 Google App Engine 上托管的网站

项目的基本结构

本指南使用以下项目结构:

  • app.yaml:配置 App Engine 应用的设置。
  • www/:用于存储所有静态文件(例如 HTML、CSS、图片和 JavaScript)的目录。
    • css/:用于存储样式表的目录。
      • style.css:用于设置网站的外观和风格的基本样式表。
    • images/:用于存储图片的可选目录。
    • index.html:用于显示网站内容的 HTML 文件。
    • js/:用于存储 JavaScript 文件的可选目录。
    • 其他资产目录。

创建 app.yaml 文件

app.yaml 文件是一个配置文件,告知 App Engine 如何将网址映射到静态文件。在以下步骤中,您将添加处理程序以在有人访问您的网站时加载 www/index.html,同时所有静态文件都将存储在 www 目录中并从中调用。

在应用的根目录中创建 app.yaml 文件:

  1. 创建一个与项目 ID 同名的目录。您可以在控制台 中查找项目 ID。
  2. 在刚刚创建的目录中,创建一个名为 app.yaml 的文件。
  3. 修改 app.yaml 文件并将以下代码添加到该文件中:

    runtime: python27
    api_version: 1
    threadsafe: true
    
    handlers:
    - url: /
      static_files: www/index.html
      upload: www/index.html
    
    - url: /(.*)
      static_files: www/\1
      upload: www/(.*)
    

如需查看有关 app.yaml 文件的更多参考信息,请参阅 app.yaml 参考文档

创建 index.html 文件

创建一个 HTML 文件,以便用户导航到您网站的根网页时,系统予以提供。将此文件存储在 www 目录中。

<html>
  <head>
    <title>Hello, world!</title>
    <link rel="stylesheet" type="text/css" href="/css/style.css">
  </head>
  <body>
    <h1>Hello, world!</h1>
    <p>
      This is a simple static HTML file that will be served from Google App
      Engine.
    </p>
  </body>
</html>

将应用部署到 App Engine

当您部署应用文件时,系统会将您的网站上传到 App Engine。如需部署应用,请从 app.yaml 文件所在的应用根目录中运行以下命令:

gcloud app deploy

可选标志:

  • 添加 --project 标志,可以为您在 gcloud CLI 中初始化为默认值的 Google Cloud 控制台项目 ID 指定一个备用项目 ID。示例:--project [YOUR_PROJECT_ID]
  • 添加 -v 标志以指定版本 ID。如果不指定,系统会为您生成一个版本 ID。示例:-v [YOUR_VERSION_ID]

如需详细了解如何从命令行部署应用,请参阅部署 Python 2 应用

查看应用

如需启动浏览器并在 https://PROJECT_ID.REGION_ID.r.appspot.com 上查看应用,请运行以下命令:

gcloud app browse

后续步骤

通过自定义网域提供 App Engine 托管的网站