In dieser Anleitung erfahren Sie, wie eine kleine WordPress-Website in der flexiblen App Engine-Umgebung bereitgestellt wird.
Ziele
- Eine Cloud SQL-Instanz der zweiten Generation erstellen
- Eine WordPress-Beispielwebsite konfigurieren
- WordPress-Beispielwebsite in der flexiblen App Engine-Umgebung bereitstellen
Kosten
Hinweis
- Melden Sie sich in Ihrem Google Cloud Konto an. Wenn Sie noch kein Konto bei Google Cloudhaben, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the required APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Installieren Sie die Google Cloud CLI.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:
gcloud init -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the required APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Installieren Sie die Google Cloud CLI.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:
gcloud init -
Führen Sie die folgenden Schritte aus, um Anmeldedaten zu erstellen:
Rufen Sie in der Google Cloud Console die Seite Anmeldedaten auf.
- 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.
- Installieren Sie PHP und Composer.
-
Laden Sie den Cloud SQL-Proxy herunter und machen Sie ihn ausführbar. Fügen Sie außerdem der Umgebungsvariable
PATHden Speicherort der ausführbaren Datei des Cloud SQL-Proxys hinzu. -
Installieren Sie einen MySQL-Client und prüfen Sie, ob sich der Speicherort der ausführbaren
mysql-Datei in der UmgebungsvariablePATHbefindet.
Cloud SQL-Instanz der zweiten Generation erstellen und konfigurieren
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-central1Legen 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.Laden Sie den Cloud SQL-Proxy herunter und führen Sie ihn aus:
./cloud-sql-proxy \ -dir /tmp/cloudsql \ -instances=[YOUR_PROJECT_ID]:us-central1:tutorial-sql-instance \ -credential_file=[PATH_TO_YOUR_SERVICE_ACCOUNT_JSON]
wobei
[YOUR_PROJECT_ID]Ihre Google Cloud Projekt-ID ist.[PATH_TO_YOUR_SERVICE_ACCOUNT_JSON]der Pfad zu der JSON-Dienstkontodatei ist, 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 connectionsErstellen 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
wobei
[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
Klonen Sie das Beispiel-Repository:
git clone https://github.com/GoogleCloudPlatform/php-docs-samples.gitNavigieren Sie zu dem Verzeichnis mit dem Beispielcode:
cd php-docs-samples/appengine/flexible/wordpressInstallieren Sie die Abhängigkeiten:
composer installFü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
-dirgibt den Speicherort des WordPress-Projekts an.Das Hilfsskript schreibt Informationen in
wordpress-project/wordpress/wp-config.php. Prüfen Sie, ob inwp-config.phpdie 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
Navigieren Sie zum Verzeichnis des WordPress-Projekts:
cd wordpress-projectStellen Sie das WordPress-Projekt bereit:
gcloud app deploy \ --promote --stop-previous-version app.yaml cron.yamlGeben Sie im Webbrowser die folgende URL ein:
https://PROJECT_ID.REGION_ID.r.appspot.comErsetzen Sie Folgendes:
PROJECT_ID: Ihre Google Cloud Projekt-IDREGION_ID: Ein Code, der Ihrer Anwendung von App Engine zugewiesen wird
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.
Aktualisieren Sie WordPress:
vendor/bin/wp core update --path=wordpressAktualisieren 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-contentAktualisieren Sie die Designs:
vendor/bin/wp theme update --all --path=wordpressStellen 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:
- Wechseln Sie in der Google Cloud Console zur Seite Ressourcen verwalten.
- Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie dann auf Löschen.
- Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Shut down (Beenden), um das Projekt zu löschen.
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 Anwendungsversion:
- Rufen Sie in der Google Cloud Console die Seite Versionen für App Engine auf.
- Klicken Sie auf das Kästchen für die nicht standardmäßige Anwendungsversion, die Sie löschen möchten.
- Klicken Sie zum Löschen der Anwendungsversion auf Löschen.
Cloud SQL-Instanz löschen
So löschen Sie eine Cloud SQL-Instanz:
- Rufen Sie in der Google Cloud Console die Instanzen Seite auf.
- Klicken Sie auf den Namen der SQL-Instanz, die Sie löschen möchten.
- Klicken Sie zum Löschen der Instanz auf Löschen und folgen Sie der Anleitung.
Nächste Schritte
PHP Bookshelf-Beispielanwendung in der flexiblen App Engine-Umgebung ausführen
PHP Bookshelf-Beispielanwendung in Google Kubernetes Engine ausführen
Mehr über WordPress erfahren
WordPress Multisite mit eigenen Domains und Mailgun verwenden .
Referenzarchitekturen, Diagramme und Best Practices zu Google Cloud kennenlernen. Weitere Informationen zu Cloud Architecture Center