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
- Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
-
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.-
Instal Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:
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.-
Instal Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:
gcloud init -
Buat kredensial dengan mengikuti langkah-langkah berikut:
Di konsol Google Cloud , 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 dapat dijalankan. Tambahkan juga lokasi file yang dapat dieksekusi Cloud SQL Proxy ke variabel lingkungan
PATHAnda. -
Instal
klien MySQL
dan verifikasi bahwa lokasi file yang dapat dieksekusi
mysqlada di 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 Google Cloud 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 sampel
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 Google Cloud AndaREGION_ID: Kode yang ditetapkan App Engine ke aplikasi Anda
Memperbarui WordPress, plugin, dan tema
Penting untuk selalu mengupdate WordPress, plugin, dan tema. Anda dapat terus memperbarui item ini menggunakan alat wp. Setelah update, Anda harus men-
deploy ulang project WordPress.
Perbarui WordPress itu sendiri:
vendor/bin/wp core update --path=wordpressUpdate 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-contentMemperbarui 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 Google Cloud , 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 Google Cloud , buka halaman Versions 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 Google Cloud , 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 PHP Bookshelf di lingkungan fleksibel App Engine.
Pelajari cara menjalankan aplikasi sampel PHP Bookshelf di Google Kubernetes Engine.
Pelajari cara menjalankan aplikasi contoh PHP Bookshelf di Compute Engine.
Pelajari WordPress.
Pelajari cara menggunakan multisite WordPress dengan domain dan Mailgun Anda sendiri.
Pelajari arsitektur referensi, diagram, dan praktik terbaik tentang Google Cloud. Lihat Cloud Architecture Center kami.