Tutorial ini menunjukkan cara men-deploy situs WordPress kecil ke lingkungan fleksibel App Engine.
Tujuan
- Membuat instance Cloud SQL Generasi Kedua.
- Mengonfigurasi contoh situs WordPress.
- Deploy contoh situs WordPress ke lingkungan fleksibel App Engine.
Biaya
Untuk membuat perkiraan biaya berdasarkan proyeksi penggunaan Anda, gunakan kalkulator harga.
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.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.
-
Enable the required APIs.
- Menginstal Google Cloud CLI.
-
Untuk initialize gcloud CLI, jalankan perintah berikut:
gcloud init
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.
-
Enable the required APIs.
- Menginstal Google Cloud CLI.
-
Untuk initialize gcloud CLI, jalankan perintah berikut:
gcloud init
-
Buat kredensial dengan mengikuti langkah-langkah berikut:
Di Konsol Google Cloud, buka halaman Kredensial.
- Klik Create credentials dan pilih Service account key.
- Pilih Akun layanan > Akun layanan default App Engine.
- 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. Selain itu, tambahkan lokasi file Proxy Cloud SQL yang dapat dieksekusi ke variabel lingkungan
PATH
Anda. -
Instal
klien MySQL
dan pastikan lokasi file
mysql
yang dapat dieksekusi berada di variabel lingkunganPATH
Anda.
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-central1
Tetapkan 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:
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]
dengan
[YOUR_PROJECT_ID]
adalah ID project Google Cloud 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 connections
Di jendela terminal lain, buat database baru dan pengguna:
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.git
Buka direktori yang berisi kode contoh:
cd php-docs-samples/appengine/flexible/wordpress
Instal dependensi:
composer install
Menjalankan 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
-dir
menentukan lokasi project WordPress Anda.Skrip helper menulis informasi ke
wordpress-project/wordpress/wp-config.php
. Periksa kontenwp-config.php
untuk 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-project
Deploy project WordPress:
gcloud app deploy \ --promote --stop-previous-version app.yaml cron.yaml
Di browser Anda, masukkan URL berikut:
https://PROJECT_ID.REGION_ID.r.appspot.com
Ganti kode berikut:
PROJECT_ID
: ID Project Google Cloud AndaREGION_ID
: Kode yang ditetapkan App Engine untuk aplikasi Anda
Mengupdate WordPress, plugin, dan tema
Penting untuk selalu memperbarui WordPress, plugin, dan tema. Anda dapat terus
memperbarui item ini dengan menggunakan alat wp
. Setelah diupdate, Anda perlu men-deploy
ulang project WordPress.
Update WordPress itu sendiri:
vendor/bin/wp core update --path=wordpress
Mengupdate 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-content
Perbarui tema:
vendor/bin/wp theme update --all --path=wordpress
Deploy 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 resource.
- 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 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 Anda
Untuk menghapus instance Cloud SQL:
- Di konsol Google Cloud, buka halaman Instance.
- Klik nama instance SQL yang ingin Anda hapus.
- Untuk menghapus instance, klik Hapus, lalu ikuti petunjuknya.
Langkah selanjutnya
Pelajari cara menjalankan aplikasi contoh Bookshelf PHP di lingkungan fleksibel App Engine.
Pelajari cara menjalankan aplikasi contoh Bookshelf PHP di Google Kubernetes Engine.
Pelajari cara menjalankan aplikasi contoh Bookshelf PHP di Compute Engine.
Pelajari WordPress.
Pelajari cara menggunakan multisite WordPress dengan domain Anda sendiri dan Mailgun.
Pelajari arsitektur referensi, diagram, dan praktik terbaik tentang Google Cloud. Lihat Cloud Architecture Center kami.