WordPress in der flexiblen App Engine-Umgebung hosten


In dieser Anleitung erfahren Sie, wie eine kleine WordPress-Website in der flexiblen App Engine-Umgebung bereitgestellt wird.

Lernziele

  • Eine Cloud SQL-Instanz der zweiten Generation erstellen
  • Eine WordPress-Beispielwebsite konfigurieren
  • WordPress-Beispielwebsite in der flexiblen App Engine-Umgebung bereitstellen

Kosten

Hinweise

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the required APIs.

    Enable the APIs

  5. Install the Google Cloud CLI.
  6. To initialize the gcloud CLI, run the following command:

    gcloud init
  7. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  8. Make sure that billing is enabled for your Google Cloud project.

  9. Enable the required APIs.

    Enable the APIs

  10. Install the Google Cloud CLI.
  11. To initialize the gcloud CLI, run the following command:

    gcloud init
  12. So erstellen Sie Anmeldedaten:
    • Wechseln Sie in der Google Cloud Console zur Seite Anmeldedaten.

      Zur Seite "API-Anmeldedaten"

    • Klicken Sie auf Anmeldedaten erstellen und wählen Sie Dienstkontoschlüssel aus.
    • Wählen Sie Dienstkonto > App Engine-Standarddienstkonto aus.
    • Klicken Sie auf Erstellen.
    • Speichern Sie den heruntergeladenen Schlüssel an einem sicheren Ort.
  13. Installieren Sie PHP und Composer.
  14. Laden Sie den Cloud SQL-Proxy herunter und machen Sie ihn ausführbar. Fügen Sie außerdem der Umgebungsvariable PATH den Speicherort der ausführbaren Datei des Cloud SQL-Proxys hinzu.
  15. Installieren Sie einen MySQL-Client und prüfen Sie, ob sich der Speicherort der ausführbaren mysql-Datei in der PATH-Umgebungsvariable befindet.

Cloud SQL-Instanz der zweiten Generation erstellen und konfigurieren

  1. Erstellen Sie eine Cloud SQL-Instanz der zweiten Generation.

    gcloud sql instances create tutorial-sql-instance \
        --activation-policy=ALWAYS \
        --tier=db-n1-standard-1 \
        --region=us-central1
    
  2. Legen Sie das Root-Passwort für die Instanz fest:

    gcloud sql users set-password root --instance tutorial-sql-instance \
        --password [YOUR_SQL_ROOT_PASSWORD] \
        --host %
    

    Dabei ist [YOUR_SQL_ROOT_PASSWORD] ein sicheres Passwort Ihrer Wahl.

  3. Laden Sie den Cloud SQL-Proxy herunter und führen Sie ihn aus:

    wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxy
    cloud_sql_proxy \
        -dir /tmp/cloudsql \
        -instances=[YOUR_PROJECT_ID]:us-central1:tutorial-sql-instance=tcp:3306 \
        -credential_file=[PATH_TO_YOUR_SERVICE_ACCOUNT_JSON]
    

    Dabei gilt:

    • [YOUR_PROJECT_ID] ist Ihre Google Cloud-Projekt-ID.

    • [PATH_TO_YOUR_SERVICE_ACCOUNT_JSON] ist der Pfad zu der JSON-Dienstkontodatei, die Sie zuvor heruntergeladen haben.

    Die folgende Ausgabe zeigt an, dass der Proxy für neue Verbindungen bereit ist:

    Listening on 127.0.0.1:3306 for [YOUR_PROJECT_ID]:us-central1:tutorial-sql-instance
    Ready for new connections
    
  4. Erstellen Sie in einem anderen Terminalfenster eine neue Datenbank und einen neuen Nutzer:

    mysql -h 127.0.0.1 -u root --password=[YOUR_SQL_ROOT_PASSWORD]
    mysql> create database tutorialdb;
    mysql> create user 'tutorial-user'@'%' identified by '[YOUR_DATABASE_PASSWORD]';
    mysql> grant all on tutorialdb.* to 'tutorial-user'@'%';
    mysql> exit
    

    Dabei gilt:

    • [YOUR_SQL_ROOT_PASSWORD] ist das Root-Passwort für die Cloud SQL-Instanz.
    • [YOUR_DATABASE_PASSWORD] ist ein sicheres Passwort Ihrer Wahl.

WordPress-Projekt einrichten

  1. Klonen Sie das Beispiel-Repository:

    git clone https://github.com/GoogleCloudPlatform/php-docs-samples.git
    
  2. Navigieren Sie zu dem Verzeichnis mit dem Beispielcode:

    cd php-docs-samples/appengine/flexible/wordpress
    
  3. Installieren Sie die Abhängigkeiten:

    composer install
    
  4. Führen Sie das Hilfsskript aus:

    php wordpress.php setup -n \
        --dir=./wordpress-project \
        --db_instance=tutorial-sql-instance \
        --db_name=tutorialdb \
        --db_user=tutorial-user \
        --project_id=[YOUR_PROJECT_ID] \
        --db_password=[YOUR_DATABASE_PASSWORD]
    

    Dabei gilt:

    • [YOUR_PROJECT_ID] ist die Projekt-ID.
    • [YOUR_DATABASE_PASSWORD] ist Ihr Datenbankpasswort.

    Der Parameter -dir gibt den Speicherort des WordPress-Projekts an.

  5. Das Hilfsskript schreibt Informationen in wordpress-project/wordpress/wp-config.php. Prüfen Sie, ob in wp-config.php die Namen, die Projekt-ID und das Datenbankpasswort korrekt sind.

    if ($onGae) {
        /** Production environment */
        define('DB_HOST', ':/cloudsql/[YOUR_PROJECT_ID]:us-central1:tutorial-sql-instance');
        /** The name of the database for WordPress */
        define('DB_NAME', 'tutorialdb');
        /** MySQL database username */
        define('DB_USER', 'tutorial-user');
        /** MySQL database password */
        define('DB_PASSWORD', '[YOUR_DATABASE_PASSWORD]');
    } else {
        /** Local environment */
        define('DB_HOST', '127.0.0.1');
        /** The name of the database for WordPress */
        define('DB_NAME', 'tutorialdb');
        /** MySQL database username */
        define('DB_USER', 'tutorial-user');
        /** MySQL database password */
        define('DB_PASSWORD', '[YOUR_DATABASE_PASSWORD]');
    }
    

WordPress-Projekt in der flexiblen App Engine-Umgebung bereitstellen

  1. Navigieren Sie zum Verzeichnis des WordPress-Projekts:

    cd wordpress-project
    
  2. Stellen Sie das WordPress-Projekt bereit:

    gcloud app deploy \
        --promote --stop-previous-version app.yaml cron.yaml
    
  3. Geben Sie im Webbrowser die folgende URL ein:

    https://PROJECT_ID.REGION_ID.r.appspot.com

    Ersetzen Sie Folgendes:

WordPress, Plug-ins und Themen aktualisieren

WordPress, Plug-ins und Designs sollten immer auf dem neuesten Stand sein. Sie können diese Elemente mit dem wp-Tool laufend aktualisieren. Nach einer Aktualisierung müssen Sie das WordPress-Projekt noch einmal bereitstellen.

  1. Aktualisieren Sie WordPress:

    vendor/bin/wp core update --path=wordpress
    
  2. Aktualisieren Sie die Plug-ins:

    vendor/bin/wp plugin update --all --path=wordpress
    # Just in case it updates any of the dropins, copy the files:
    cp wordpress/wp-content/plugins/batcache/advanced-cache.php \
        wordpress/wp-content/plugins/memcached/object-cache.php \
        wordpress/wp-content
    
  3. Aktualisieren Sie die Designs:

    vendor/bin/wp theme update --all --path=wordpress
    
  4. Stellen Sie das Projekt wieder bereit:

    gcloud app deploy \
        --promote --stop-previous-version app.yaml cron.yaml
    

Bereinigen

Damit Ihrem Google Cloud-Konto die in dieser Anleitung verwendeten Ressourcen nicht in Rechnung gestellt werden, löschen Sie entweder das Projekt, das die Ressourcen enthält, oder Sie behalten das Projekt und löschen die einzelnen Ressourcen.

Projekt löschen

Am einfachsten vermeiden Sie weitere Kosten durch Löschen des für die Anleitung erstellten Projekts.

So löschen Sie das Projekt:

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

Nicht standardmäßige Versionen der Anwendung löschen

Wenn Sie das Projekt nicht löschen möchten, können Sie trotzdem die Kosten senken. Löschen Sie dazu die nicht standardmäßigen Versionen der Anwendung.

So löschen Sie eine App-Version:

  1. In the Google Cloud console, go to the Versions page for App Engine.

    Go to Versions

  2. Select the checkbox for the non-default app version that you want to delete.
  3. Klicken Sie zum Löschen der Anwendungsversion auf Löschen.

Cloud SQL-Instanz löschen

So löschen Sie eine Cloud SQL-Instanz:

  1. In the Google Cloud console, go to the Instances page.

    Go to Instances

  2. Click the name of the SQL instance you that want to delete.
  3. To delete the instance, click Delete, and then follow the instructions.

Nächste Schritte