本地开发服务器 (dev_appserver.py
) 属于 gcloud CLI 的 App Engine 组件。本主题提供了有关 dev_appserver.py
用法的高级信息。
如需详细了解本地测试,请参阅使用本地开发服务器。
如果 Python 2 不是您系统上的默认解释器,则您需要运行 python2 dev_appserver.py
以确保使用 Python 2 解释器,如下所示:
dev_appserver.py [options] yaml_path [files...]
位置参数 yaml_path
指定一个或多个 app.yaml
文件,每个文件对应一个服务。
如需查看完整的选项列表,请键入:
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=...
- 将日志消息写入控制台时的最低日志记录级别;将输出指定日志记录级别或更高级别的消息。可能的值包括
debug
、info
、warning
、error
和critical
。 --port=...
- 用于服务器的端口号。默认值为
8080
。如果出于服务等目的而启动了多个服务器,则会为它们分配后续端口,如8081
、8082
。 --logs_path=...
- 默认情况下,本地开发服务器的日志仅存储在内存中。在运行本地开发服务器时指定此选项可将日志存储到文件中,从而确保日志不会在服务器重启过程中丢失。
您必须指定 SQLite 数据库文件的目录路径和名称。如果文件尚不存在,则将使用指定的名称创建 SQLite 数据库文件。例如:
--logs_path=/home/logs/boglogs.db
--require_indexes=yes|no
- 停用
index.yaml
文件中条目的自动生成器。当应用创建的查询要求在该文件中定义其索引,而未找到索引定义时,会引发异常,这与在 App Engine 上运行时发生的情况类似。默认值为no
。 --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
--go_debugging=yes|no
- 设置为 yes,以便能够通过 delve 或 gdb 启用调试。这将构建应用二进制文件,其中包含调试所需的所有符号。您可以按正常方式挂接到正在运行的进程,例如:
sudo dlv attach <pid>
。