本地开发服务器选项

本地开发服务器 (dev_appserver.py) 属于 gcloud CLI 的 App Engine 组件。本主题提供了有关 dev_appserver.py 用法的高级信息。 如需详细了解本地测试,请参阅使用本地开发服务器

设置本地开发服务器工具

示例 dev_appserver.py 命令可能如下所示:

python2 DEVAPPSERVER_ROOT/google_appengine/dev_appserver.py OPTION yaml_path FILES

替换以下内容:

  • DEVAPPSERVER_ROOT 替换为在其中解压缩 devapp_server.py 的归档版本的根目录的路径。如需详细了解如何下载和使用 dev_appserver.py 的归档版本,请参阅使用本地开发服务器
  • OPTION 替换为本地开发服务器支持的标志。
  • FILES 为位置参数 yaml_path 指定一个或多个 app.yaml 文件,每个服务对应一个文件。

如需查看完整的选项列表,请运行以下命令:

DEVAPPSERVER_ROOT/google_appengine/dev_appserver.py -h

常用选项

最常用的选项如下所示:

--admin_host=ADMIN_HOST
本地开发服务器的管理控制台应绑定的主机名(默认值:localhost)。
--admin_port=ADMIN_PORT
本地开发服务器的管理控制台应绑定的端口(默认值:8000)。
--enable_sendmail=yes|no
使用本地计算机上安装的 Sendmail 发送电子邮件。
--enable_task_running=yes|no
让开发服务器运行推送任务。默认值为 yes。如果您指定 no,服务器将不会运行推送任务。
--help
输出一条帮助消息,然后退出。
--host=...
用于服务器的主机地址。您可能需要设置该参数,才能够从网络上的其他计算机访问开发服务器。地址为 0.0.0.0 时,既可使用 localhost 访问,也可使用 IP 或主机名访问。默认值为 localhost
--log_level=...
将日志消息写入控制台时的最低日志记录级别;将输出指定日志记录级别或更高级别的消息。可能的值包括 debuginfowarningerrorcritical
--port=...
用于服务器的端口号。默认值为 8080。如果出于服务等目的而启动了多个服务器,则会为它们分配后续端口,如 80818082
--logs_path=...
默认情况下,本地开发服务器的日志仅存储在内存中。在运行本地开发服务器时指定此选项可将日志存储到文件中,从而确保日志不会在服务器重启过程中丢失。 您必须指定 SQLite 数据库文件的目录路径和名称。如果文件尚不存在,则将使用指定的名称创建 SQLite 数据库文件。例如:--logs_path=/home/logs/boglogs.db
--require_indexes=yes|no
停用在 index.yaml 文件中自动生成条目。当应用创建的查询要求在该文件中定义其索引,而未找到索引定义时,会引发异常,这与在 App Engine 上运行时发生的情况类似。默认值为 no
--runtime_python_path=...
Python 3 二进制文件的路径。如需在 dev_appserver 上运行 Python 3 应用,请指定此标志。
--smtp_host=...
用于发送电子邮件的 SMTP 服务器的主机名。
--smtp_port=...
用于发送电子邮件的 SMTP 服务器的端口号。
--smtp_user=...
SMTP 服务器上用于发送电子邮件的用户名。
--smtp_password=...
SMTP 服务器上用于发送电子邮件的密码。
--storage_path=...
将存储所有本地文件(例如 Datastore、Blobstore、Cloud Storage 文件和日志)的路径,除非被 --datastore_path--blobstore_path--logs_path 替换。
--support_datastore_emulator=yes|no
使用 Cloud Datastore 模拟器(测试版)执行本地数据存储区模拟。
--datastore_emulator_port=...
用于 Cloud Datastore 模拟器(测试版)的端口号。
--env_var=...
用户为本地运行时进程定义的环境变量。每个 env_var 都采用“键=值”的格式,并且您可以定义多个环境变量。除了 app.yaml 中的 env_variables 之外,此标志还允许为本地进程设置额外的环境变量。例如:--env_var KEY_1=val1 --env_var KEY_2=val2