本機開發伺服器 (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
常用選項
最常見的選項如下:
--auto_id_policy=...
- 已淘汰。本機資料儲存庫如何指派自動 ID。選項為
sequential
或scattered
。預設值為scattered
。
--admin_host=ADMIN_HOST
- 本機開發伺服器的管理控制台應繫結的主機名稱 (預設:localhost)。
--admin_port=ADMIN_PORT
- 本機開發伺服器的管理控制台應繫結的通訊埠 (預設:8000)。
--clear_datastore=yes|no
- 啟動網路伺服器之前,請先清除資料儲存庫資料和歷史記錄檔。預設值為
no
。 --datastore_path=...
- 本機資料儲存庫資料檔使用的路徑。如果檔案不存在,則伺服器會建立這個檔案。
--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_path
、--blobstore_path
或--logs_path
覆寫,否則會儲存所有本機檔案 (例如 Datastore、Blobstore、Cloud Storage 檔案和記錄) 的路徑。 --support_datastore_emulator=yes|no
- 使用 Cloud Datastore 模擬器 (測試版) 模擬本機資料儲存庫。
--datastore_emulator_port=...
- Cloud Datastore 模擬器 (測試版) 使用的連接埠號碼。
--env_var=...
- 本機執行階段處理程序的使用者定義環境變數。每個
env_var
均採用 key=value 的格式,您可以定義多個環境變數。除了app.yaml
中的env_variables
外,您也可以使用這個標記設定本機處理程序的其他環境變數。例如:--env_var KEY_1=val1 --env_var KEY_2=val2
--php_executable_path=...
- php-cgi 二進位檔的路徑。
--php_gae_extension_path=...
- gae_runtime_module.so 二進位檔的路徑。
--php_remote_debugging=yes|no
- 設為「yes」,表示啟用使用 XDebug 進行遠端偵錯