Der lokale Entwicklungsserver (dev_appserver.py
) gehört zu den App Engine-Komponenten der gcloud CLI. Dieses Thema enthält erweiterte Informationen zur Verwendung von dev_appserver.py
.
Weitere Informationen zu lokalen Tests finden Sie unter Lokalen Entwicklungsserver ausführen.
Lokales Entwicklungsserver-Tool einrichten
Ein dev_appserver.py
-Beispielbefehl kann so aussehen:
python2 DEVAPPSERVER_ROOT/google_appengine/dev_appserver.py OPTION yaml_path FILES
Ersetzen Sie Folgendes:
- DEVAPPSERVER_ROOT durch den Pfad zum Stammverzeichnis, in das Sie die archivierte Version von
devapp_server.py
extrahieren. Weitere Informationen zum Herunterladen und Verwenden der archivierten Version vondev_appserver.py
finden Sie unter Lokalen Entwicklungsserver verwenden. - OPTION durch ein Flag, das vom lokalen Entwicklungsserver unterstützt wird.
- FILES gibt eine oder mehrere
app.yaml
-Dateien für das Positionsargumentyaml_path
an, und zwar eine pro Dienst.
Eine vollständige Liste der Optionen erhalten Sie über folgenden Befehl:
DEVAPPSERVER_ROOT/google_appengine/dev_appserver.py -h
Allgemeine Optionen
Die gängigsten Optionen sind:
--admin_host=ADMIN_HOST
- Name des Hosts, mit dem die Verwaltungskonsole des lokalen Entwicklungsservers verbunden werden soll (Standard: localhost).
--admin_port=ADMIN_PORT
- Port, mit dem die Verwaltungskonsole des lokalen Entwicklungsservers verbunden werden soll (Standard: 8000).
--enable_sendmail=yes|no
- Verwendet zum Senden von E-Mail-Nachrichten die Sendmail-Installation des lokalen Computers.
--enable_task_running=yes|no
- Ermöglicht dem Entwicklungsserver, Push-Aufgaben auszuführen. Die Standardeinstellung ist
yes
. Wenn Sieno
angeben, führt der Server keine Push-Aufgaben aus. --help
- Zeigt Hilfeinformationen an und beendet das Programm.
--host=...
- Die Hostadresse für den Server. unter Umständen müssen Sie diese festlegen, um über einen anderen Computer im Netzwerk auf den Entwicklungsserver zugreifen zu können. Die Adresse
0.0.0.0
ermöglicht den Zugriff sowohl über localhost als auch über die IP oder den Hostnamen. Der Standardwert istlocalhost
. --log_level=...
- Die unterste Logging-Ebene, auf der Logging-Meldungen in die Konsole geschrieben werden. Meldungen der angegebenen Logging-Ebene oder höherer Ebenen werden ausgegeben.
Mögliche Werte sind
debug
,info
,warning
,error
undcritical
. --port=...
- Die Portnummer für den Server. Der Standardwert ist
8080
. Wenn mehrere Server gestartet werden, z. B. für Dienste, werden ihnen aufeinanderfolgende Ports zugewiesen, z. B.8081
,8082
usw. --logs_path=...
- Standardmäßig werden die Logs für den lokalen Entwicklungsserver nur im Arbeitsspeicher abgelegt. Geben Sie diese Option an, wenn der lokale Entwicklungsserver die Logs in einer Datei speichern soll, sodass die Logs auch bei Neustarts des Servers verfügbar bleiben.
Sie müssen den Verzeichnispfad und den Namen einer SQLite-Datenbankdatei angeben. Es wird eine SQLite-Datenbankdatei mit dem angegebenen Namen erstellt, wenn die Datei noch nicht vorhanden ist. Beispiel:
--logs_path=/home/logs/boglogs.db
--require_indexes=yes|no
- Deaktiviert die automatische Erstellung von Einträgen in der
index.yaml
-Datei. Wenn die Anwendung eine Abfrage vornimmt, für die ihr Index in der Datei definiert sein muss, die Indexdefinition jedoch nicht gefunden wird, wird ähnlich wie bei der Ausführung unter App Engine eine Ausnahme ausgelöst. Der Standardwert istno
. --smtp_host=...
- Der Hostname des zum Senden von E-Mail-Nachrichten zu verwendenden SMTP-Servers.
--smtp_port=...
- Die Portnummer des zum Senden von E-Mail-Nachrichten zu verwendenden SMTP-Servers.
--smtp_user=...
- Der zum Senden von E-Mail-Nachrichten zusammen mit dem SMTP-Server zu verwendende Nutzername.
--smtp_password=...
- Das zum Senden von E-Mail-Nachrichten zusammen mit dem SMTP-Server zu verwendende Passwort.
--storage_path=...
- Pfad, unter dem alle lokalen Dateien wie Datastore-, Blobstore- oder Cloud Storage-Dateien und -Logs gespeichert werden, sofern dieser nicht durch
--datastore_path
,--blobstore_path
oder--logs_path
überschrieben wird. --support_datastore_emulator=yes|no
- Verwenden Sie den Cloud Datastore Emulator (Beta) für die lokale Datenspeicheremulation.
--datastore_emulator_port=...
- Die Portnummer für den Cloud Datastore Emulator (Beta).
--env_var=...
- Benutzerdefinierte Umgebungsvariable für den lokalen Laufzeitprozess; die Variable
env_var
hat das Format "Schlüssel=Wert". Sie können auch mehrere Umgebungsvariablen definieren. Zusätzlich zur Variableenv_variables
in der Dateiapp.yaml
können mit diesem Flag weitere Umgebungsvariablen für lokale Prozesse festgelegt werden. Beispiel:--env_var KEY_1=val1 --env_var KEY_2=val2
--go_debugging=yes|no
- Mit "yes" wird das Remotedebugging mit "delve" oder "gdb" aktiviert. Dadurch wird die Anwendungsbinärdatei mit allen für die Fehlerbehebung erforderlichen Symbolen erstellt. Sie können das Debugging dem laufenden Prozess ganz normal anhängen, z. B.:
sudo dlv attach <pid>
.