Schnellstartanleitung für Node.js in der flexiblen App Engine-Umgebung

In dieser Schnellstartanleitung erfahren Sie, wie Sie eine kleine App Engine-Anwendung zum Anzeigen einer kurzen Nachricht erstellen können.

Vorbereitung

Führen Sie vor der Ausführung und Bereitstellung dieser Beispielanwendung die folgenden Schritte aus:

  1. Erstellen Sie in der GCP Console ein neues GCP-Projekt sowie eine App Engine-Anwendung und aktivieren Sie die Abrechnung:
    Zur App Engine

    Wählen Sie bei entsprechender Aufforderung die Region aus, in der sich die App Engine-Anwendung befinden soll. Aktivieren Sie dann die Abrechnung.

  2. Installieren Sie lokal die folgenden erforderlichen Komponenten:
    1. Laden Sie Git herunter und installieren Sie es.
    2. Bereiten Sie Ihre Umgebung für die Node.js-Entwicklung vor.
    3. Laden Sie das Google Cloud SDK herunter, installieren Sie es und initialisieren Sie dann das gcloud-Tool:
      SDK herunterladen
  3. Alternativ können Sie Google Cloud Shell verwenden. Dort sind Git und das Cloud SDK sowie viele weitere Funktionen, wie die Sprachunterstützung und Codeeditoren, bereits installiert.

    Nach dem Start von Google Cloud Shell können Sie mit dem Rest dieser Anleitung fortfahren und die Befehle in Cloud Shell ausführen.

App-Engine-Standorte

App Engine ist regional. Das bedeutet, dass sich die Infrastruktur, in der die Anwendungen ausgeführt werden, in einer bestimmten Region befindet und von Google verwaltet wird. Auf diese Weise sind die Anwendungen in allen Zonen innerhalb der Region redundant verfügbar.

Die Erfüllung der Latenz-, Verfügbarkeits- oder Langlebigkeitsanforderungen ist der wichtigste Gesichtspunkt bei der Auswahl der Region, in der Ihre Anwendungen ausgeführt werden sollen. Sie können im Allgemeinen jene Region auswählen, die sich am nächsten bei den Nutzern Ihrer Anwendung befindet. Allerdings sollten Sie auch den Standort der übrigen GCP-Produkte und -Dienste berücksichtigen, die von der Anwendung verwendet werden. Eine standortübergreifende Verwendung von Diensten kann die Latenz der Anwendung sowie die Preise beeinflussen.

App Engine ist in folgenden Regionen verfügbar:

  • northamerica-northeast1 (Montréal)
  • us-central (Iowa)
  • us-east1 (South Carolina)
  • us-east4 (Northern Virginia)
  • southamerica-east1 (São Paulo) *
  • europe-west (Belgien)
  • europe-west2 (London)
  • europe-west3 (Frankfurt)
  • asia-northeast1 (Tokio)
  • asia-south1 (Mumbai)
  • australia-southeast1 (Sydney)

* Für Kunden, die die Region "São Paulo" verwenden, bleiben alle regionalen Produkt-SLAs in Kraft. Durch die multiregionale und regionsübergreifende Funktionalität für Nord- und Südamerika kann die Verfügbarkeit oder Leistung jedoch vorübergehend herabgesetzt werden.

Sie können die Region einer Anwendung nicht ändern, nachdem Sie sie festgelegt haben.

Wenn Sie bereits eine App Engine-Anwendung erstellt haben, können Sie sich die Region mit dem Befehl gcloud app describe oder im App Engine-Dashboard der GCP Console anzeigen lassen. Die Region Ihrer App Engine-Anwendung ist unter http://[YOUR_PROJECT_ID].appspot.com aufgeführt.

Diese Schnellstartanleitung umfasst eine einfache Node.js-Anwendung, die mit dem Express.js-Framework geschrieben wurde.

Hello World App herunterladen

Wir haben eine einfache Hello World App für Node.js erstellt, damit Sie sich schnell mit der App-Bereitstellung in der flexiblen App Engine-Umgebung vertraut machen können. Führen Sie die folgenden Schritte über eine Befehlszeile aus, um Hello World auf den lokalen Computer herunterzuladen.

Laden Sie die Beispiel-App herunter und gehen Sie zum App-Verzeichnis:

  1. Klonen Sie das Repository der Hello World Beispiel-App auf dem lokalen Computer:

    git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples
    

    Sie können auch das Beispiel als ZIP-Datei herunterladen und extrahieren.

  2. Wechseln Sie zu dem Verzeichnis, das den Beispielcode enthält:

    cd nodejs-docs-samples/appengine/hello-world/flexible
    

Hello World auf lokalem Computer ausführen

  1. Installieren Sie die Abhängigkeiten für dieses Projekt, indem Sie den folgenden Befehl eingeben:

    npm install
    

    oder bei Verwendung von Yarn:

    yarn install
    
  2. Führen Sie das Startskript aus.

    npm start
    

    oder bei Verwendung von Yarn:

    yarn start
    
  3. Zeigen Sie Ihre App in Ihrem Webbrowser an:

    • Wenn Sie mit Cloud Shell arbeiten, klicken Sie in der Symbolleiste auf Webvorschau, und wählen Sie stattdessen Vorschau auf Port 8080 aus.

    • Wenn Sie Cloud Shell verwenden, geben Sie die folgende Adresse ein:

      http://localhost:8080
      

Auf der Seite wird die Nachricht Hello World aus der Beispiel-App angezeigt.

Drücken Sie im Terminalfenster Strg + C, um den Webserver zu beenden.

Hello World in App Engine bereitstellen und ausführen

So stellen Sie die App in der flexiblen App Engine-Umgebung bereit:

  1. Um die Hello World-Anwendung bereitzustellen, führen Sie im Verzeichnis hello-world/flexible den folgenden Befehl aus:
    gcloud app deploy
    Hier finden Sie Informationen zu optionalen Flags.

    Häufig verwendete gcloud-Befehls-Flags

    • Verwenden Sie das Flag --version, um eine einmalige ID festzulegen, die die Version Ihrer Anwendung angibt. Andernfalls wird automatisch eine ID generiert. Beispiel: --version [YOUR_VERSION_ID]
    • Verwenden Sie das Flag --project, um eine andere Cloud Platform-Projekt-ID als jene anzugeben, die Sie im Tool gcloud als Standard initialisiert haben. Beispiel: --project [YOUR_PROJECT_ID]

    Beispiel:

    gcloud app deploy --version pre-prod-5 --project my-sample-app

    Weitere Informationen zum Bereitstellen der App über die Befehlszeile finden Sie unter Anwendung bereitstellen und testen. Eine Liste aller Befehls-Flags finden Sie in der Referenz zu gcloud app deploy.

  2. Starten Sie den Browser und führen Sie den folgenden Befehl aus, um die Anwendung unter http://YOUR_PROJECT_ID.appspot.com aufzurufen:
    gcloud app browse
Dieses Mal wird die Seite mit der Nachricht "Hello World" von einem Webserver bereitgestellt, der auf einer App Engine-Instanz ausgeführt wird.

Herzlichen Glückwunsch! Sie haben Ihre erste Node.js-App in der flexiblen App Engine-Umgebung bereitgestellt.

In den folgenden Abschnitten finden Sie Informationen zum Bereinigen sowie Links zu möglichen weiteren Schritten.

Bereinigen

Um Gebühren zu vermeiden, können Sie Ihr GCP-Projekt löschen und so die Abrechnung für alle in diesem Projekt verwendeten Ressourcen beenden.

  1. Rufen Sie in der GCP Console die Seite "Projekte" auf.

    Zur Seite "Projekte"

  2. Wählen Sie in der Projektliste das Projekt, das Sie löschen wollen und klicken Sie auf Projekt löschen. Nachdem Sie das Kästchen neben dem Projektnamen ausgewählt haben, klicken Sie auf "Projekt löschen"
  3. Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Beenden, um das Projekt zu löschen.

Weitere Informationen

Nun, da Sie mit der Hello World App fertig sind, können Sie die nächste Beispiel-App erkunden: die Bookshelf App. Die Bookshelf App ist eine umfassendere, aber trotzdem einfache Node.js-Web-App, die verschiedene Cloud Platform-Funktionen verwendet, z. B. Datenspeicherung, Authentifizierung, Protokollierung und Pub/Sub.

Anleitung zur Bookshelf App starten

Weitere Informationen zur flexiblen App Engine-Umgebung finden Sie unter Übersicht über App Engine.

Übersicht des Hello World-Codes

Hello World ist die einfachste App Engine-App, die möglich ist, da sie nur einen Dienst enthält, nur eine Version hat und sich der gesamte Code im Stammverzeichnis der App befindet. In diesem Abschnitt werden die App-Dateien ausführlich beschrieben.

app.js

Die Datei app.js enthält den JavaScript-Code zum Starten eines Servers und zum Antworten auf Anfragen.

Der folgende Code antwortet auf Anfragen von Webclients durch Einblenden der Nachricht "Hello World", und zwar über einen Server, der über den Port 8080 läuft.

const express = require('express');

const app = express();

app.get('/', (req, res) => {
  res.status(200).send('Hello, world!').end();
});

// Start the server
const PORT = process.env.PORT || 8080;
app.listen(PORT, () => {
  console.log(`App listening on port ${PORT}`);
  console.log('Press Ctrl+C to quit.');
});

app.yaml

In der Datei app.yaml wird die Bereitstellungskonfiguration einer Anwendung beschrieben:

runtime: nodejs
env: flex

# This sample incurs costs to run on the App Engine flexible environment.
# The settings below are to reduce costs during testing and are not appropriate
# for production use. For more information, see:
# https://cloud.google.com/appengine/docs/flexible/nodejs/configuring-your-app-with-app-yaml
manual_scaling:
  instances: 1
resources:
  cpu: 1
  memory_gb: 0.5
  disk_size_gb: 10

Hier gibt app.yaml die von der Anwendung verwendete Laufzeit an und legt über env: flex fest, dass die Anwendung die flexible Umgebung verwendet.

  • Weitere Informationen zur Funktionsweise der Node.js-Laufzeit finden Sie unter Node.js-Laufzeit.

  • Weitere Informationen dazu, wie Sie die App so gestalten, dass die Vorteile von Versionen und Diensten genutzt werden, finden Sie unter Übersicht zu App Engine.

  • Weitere Informationen zu den Konfigurationseinstellungen für App Engine finden Sie unter App mit app.yaml konfigurieren.

package.json

package.json dient zur Angabe von Anwendungsabhängigkeiten, Knotenversion und Anwendungsstart.

{
  "name": "appengine-hello-world",
  "description": "Simple Hello World Node.js sample for Google App Engine Flexible Environment.",
  "version": "0.0.1",
  "private": true,
  "license": "Apache-2.0",
  "author": "Google Inc.",
  "repository": {
    "type": "git",
    "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git"
  },
  "engines": {
    "node": ">=4.3.2"
  },
  "scripts": {
    "deploy": "gcloud app deploy",
    "start": "node app.js",
    "lint": "repo-tools lint",
    "pretest": "npm run lint",
    "system-test": "repo-tools test app",
    "test": "npm run system-test",
    "e2e-test": "repo-tools test deploy"
  },
  "dependencies": {
    "express": "4.16.2"
  },
  "devDependencies": {
    "@google-cloud/nodejs-repo-tools": "2.2.1"
  },
  "cloud-repo-tools": {
    "test": {
      "app": {
        "msg": "Hello, world!"
      }
    },
    "requiresKeyFile": true,
    "requiresProjectId": true
  }
}

In der Datei package.json ist angegeben, dass die Anwendung Node.js v4.3.2 oder höher verwendet wird und von Express abhängig ist. Außerdem wird festgelegt, dass node app.js zum Starten der Anwendung verwendet wird. Weitere Informationen zur Installation und Ausführung der Anwendung finden Sie in der Node.js-Laufzeitdokumentation.

Hat Ihnen diese Seite weitergeholfen? Teilen Sie uns Ihr Feedback mit:

Feedback geben zu...