使用本地开发服务器

Google Cloud CLI 包含一个本地开发服务器 (dev_appserver.py)。您可以使用本地开发服务器模拟在生产环境中运行 App Engine 应用,并使用它来访问 App Engine 旧版捆绑服务。 该模拟环境会强制实施一些沙盒限制,例如受限制的系统功能和运行时语言模块导入,但不包括请求超时或配额等其他限制。

本地开发服务器还会模拟由 App Engine SDK 库提供的服务(包括 Datastore、Memcache 和任务队列),在本地执行其任务。当您的应用在开发服务器中运行时,您仍然可以使用 Google API HTTP 端点对生产基础设施进行远程 API 调用。

设置本地开发服务器

如需运行本地开发服务器工具,您必须设置以下内容:

  1. 验证您是否已安装与 gcloud CLI 所需的 Python 版本兼容的 Python 3 解释器。
  2. 验证您是否已安装包含 Python 3 版 App Engine 扩展程序 的 Google Cloud CLI 组件 (app-engine-python):

    gcloud components list
    

    如果未安装 app-engine-python 组件,请运行以下命令:

    gcloud components install app-engine-python
    
  3. 运行以下命令,找到 Google Cloud SDK 的安装路径:

    gcloud info
    

    该命令会返回您在其中安装了 Google Cloud SDK 的根目录,例如:

    Installation Root: [/Users/myname/google-cloud-sdk]

  4. 在您安装了 Google Cloud CLI 的 /bin/ 文件夹下找到 dev_appserver.py 工具,例如:

    CLOUD_SDK_ROOT/bin/dev_appserver.py
    
  5. 记下 dev_appserver.py 的路径以备后用。

运行本地开发服务器

设置本地开发服务器并为应用创建 app.yaml 配置文件后,您可以使用 dev_appserver.py 命令在本地运行应用。

如需启动本地开发服务器,请执行以下操作:

  • 本地开发服务器现已运行并侦听请求。您可以在网络浏览器中访问 http://localhost:8080/ 来查看应用的运行情况。

    如果您使用 --port 选项指定了自定义端口,请记得在浏览器中指向该端口。

  • 如需通过命令行停止本地服务器,请按以下组合键:

    • macOS 或 Linux:Control+C
    • Windows:Control+Break

    指定应用 ID

    检测应用运行时环境

    使用 Mail 服务

    借助 SMTP 服务器或本地安装的 Sendmail,本地开发服务器可以在收到 App Engine Mail 服务调用时发送电子邮件。

    使用 SMTP

    要使用 SMTP 服务器实现邮件支持,请按如下方式调用 dev_appserver.py

    python3 [CLOUD_SDK_ROOT]/bin/dev_appserver.py --smtp_host=smtp.example.com --smtp_port=25 \
        --smtp_user=ajohnson --smtp_password=k1tt3ns [PATH_TO_YOUR_APP]
    

    其中,您可以将 --smtp_host--smtp_port--smtp_user--smtp_password 选项设置为您自己的值。

    使用 Sendmail

    要使用 Sendmail 实现邮件支持,请按如下方式调用 dev_appserver.py

    python3 [CLOUD_SDK_ROOT]/bin/dev_appserver.py --enable_sendmail=yes [PATH_TO_YOUR_APP]
    

    本地服务器使用 sendmail 命令发送包含安装的默认配置的电子邮件。

    使用 URL Fetch 服务

    如果您的应用使用 URL Fetch API 发出 HTTP 请求,本地开发服务器会直接从您的计算机中发出该请求。如果您使用代理服务器访问网站,则本地服务器上的 URL Fetch 行为可能与 App Engine 生产环境中的行为不同。

    使用 Users 服务

    App Engine 提供 Users 服务来简化应用的身份验证和授权。本地开发服务器使用自己的账号登录和��出页面模拟 Google 账号的行为

    命令行参数

    如需了解本地开发服务器命令选项,请参阅本地开发服务器选项