Tutorial ini menunjukkan cara men-deploy situs WordPress kecil ke lingkungan fleksibel App Engine.
Tujuan
- Buat instance Cloud SQL Generasi Kedua.
- Konfigurasi situs WordPress contoh.
- Deploy situs WordPress contoh ke lingkungan fleksibel App Engine.
Biaya
Sebelum memulai
-
In the Cloud de Confiance console, on the project selector page, select or create a Cloud de Confiance 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 Cloud de Confiance project.
Enable the required APIs, if any are not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Install the Google Cloud CLI.
-
Configure the gcloud CLI to use your federated identity.
For more information, see Sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init -
Buat kredensial dengan mengikuti langkah-langkah berikut:
Di konsol Cloud de Confiance , buka halaman Credentials.
- Klik Create credentials, lalu pilih Service account key.
- Pilih Service account > App Engine default service account.
- Klik Create.
- Simpan kunci yang didownload di tempat yang aman.
- Instal PHP dan Composer.
-
Download Proxy Cloud SQL
dan setel agar proxy tersebut dapat dijalankan. Tambahkan juga lokasi file yang dapat dieksekusi Proxy Cloud SQL ke variabel lingkungan
PATHAnda. -
Instal
klien MySQL
dan pastikan lokasi file yang dapat dieksekusi
mysqlberada dalam variabel lingkunganPATHAnda.
Membuat dan mengonfigurasi instance Cloud SQL Generasi Kedua
Buat instance Cloud SQL Generasi Kedua:
gcloud sql instances create tutorial-sql-instance \ --activation-policy=ALWAYS \ --tier=db-n1-standard-1 \ --region=us-central1Tetapkan sandi root untuk instance Anda:
gcloud sql users set-password root --instance tutorial-sql-instance \ --password [YOUR_SQL_ROOT_PASSWORD] \ --host %dengan
[YOUR_SQL_ROOT_PASSWORD]adalah sandi aman pilihan Anda.Download dan jalankan Proxy Cloud SQL:
./cloud-sql-proxy \ -dir /tmp/cloudsql \ -instances=[YOUR_PROJECT_ID]:us-central1:tutorial-sql-instance \ -credential_file=[PATH_TO_YOUR_SERVICE_ACCOUNT_JSON]
di mana
[YOUR_PROJECT_ID]adalah Cloud de Confiance project ID Anda.[PATH_TO_YOUR_SERVICE_ACCOUNT_JSON]adalah jalur ke file JSON akun layanan yang Anda download sebelumnya.
Output berikut menunjukkan bahwa proxy siap untuk koneksi baru:
Listening on 127.0.0.1:3306 for [YOUR_PROJECT_ID]:us-central1:tutorial-sql-instance Ready for new connectionsDi jendela terminal lain, buat database dan pengguna baru:
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
dengan:
[YOUR_SQL_ROOT_PASSWORD]adalah sandi root untuk instance Cloud SQL Anda.[YOUR_DATABASE_PASSWORD]adalah sandi aman pilihan Anda.
Menyiapkan project WordPress
Gandakan repositori contoh:
git clone https://github.com/GoogleCloudPlatform/php-docs-samples.gitBuka direktori yang berisi kode contoh:
cd php-docs-samples/appengine/flexible/wordpressInstal dependensi:
composer installJalankan skrip helper:
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]
dengan:
[YOUR_PROJECT_ID]adalah project ID Anda.[YOUR_DATABASE_PASSWORD]adalah sandi database Anda.
Parameter
-dirmenentukan lokasi project WordPress Anda.Skrip helper menulis informasi ke
wordpress-project/wordpress/wp-config.php. Periksa kontenwp-config.phpuntuk memverifikasi bahwa nama, project ID, dan sandi database Anda sudah benar.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]'); }
Men-deploy project WordPress ke lingkungan fleksibel App Engine
Buka direktori project WordPress Anda:
cd wordpress-projectDeploy project WordPress:
gcloud app deploy \ --promote --stop-previous-version app.yaml cron.yamlDi browser Anda, masukkan URL berikut:
https://PROJECT_ID.REGION_ID.r.appspot.comGanti kode berikut:
PROJECT_ID: Project ID Cloud de Confiance AndaREGION_ID: Kode yang ditetapkan App Engine ke aplikasi Anda
Memperbarui WordPress, plugin, dan tema
Penting untuk selalu menjaga WordPress, plugin, dan tema tetap terbaru. Anda dapat terus memperbarui item ini menggunakan alat wp. Setelah update, Anda perlu men-deploy ulang project WordPress.
Perbarui WordPress itu sendiri:
vendor/bin/wp core update --path=wordpressMengupdate plugin:
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-contentPerbarui tema:
vendor/bin/wp theme update --all --path=wordpressDeploy project lagi:
gcloud app deploy \ --promote --stop-previous-version app.yaml cron.yaml
Pembersihan
Agar tidak perlu membayar biaya pada akun Google Cloud Anda untuk resource yang digunakan dalam tutorial ini, hapus project yang berisi resource tersebut, atau simpan project dan hapus setiap resource.
Menghapus project
Cara termudah untuk menghilangkan penagihan adalah dengan menghapus project yang Anda buat untuk tutorial.
Untuk menghapus project:
- Di konsol Cloud de Confiance , buka halaman Manage resources.
- Pada daftar project, pilih project yang ingin Anda hapus, lalu klik Delete.
- Pada dialog, ketik project ID, lalu klik Shut down untuk menghapus project.
Menghapus versi non-default aplikasi Anda
Jika tidak ingin menghapus project, Anda dapat mengurangi biaya dengan menghapus versi non-default aplikasi Anda.
Untuk menghapus versi aplikasi:
- Di konsol Cloud de Confiance , buka halaman Versi untuk App Engine.
- Pilih kotak centang untuk versi aplikasi non-default yang ingin Anda hapus.
- Untuk menghapus versi aplikasi, klik Hapus.
Menghapus instance Cloud SQL
Untuk menghapus instance Cloud SQL:
- Di konsol Cloud de Confiance , buka halaman Instances.
- Klik nama instance SQL yang ingin Anda hapus.
- Untuk menghapus instance, klik Hapus, lalu ikuti petunjuknya.
Langkah berikutnya
Pelajari cara menjalankan aplikasi contoh Bookshelf PHP di lingkungan fleksibel App Engine.
Pelajari cara menjalankan aplikasi contoh PHP Bookshelf di Google Kubernetes Engine.
Pelajari cara menjalankan aplikasi contoh PHP Bookshelf di Compute Engine.
Pelajari WordPress.
Pelajari arsitektur referensi, diagram, dan praktik terbaik tentang Google Cloud. Lihat Cloud Architecture Center kami.