Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Langkah 2: Konfigurasikan konten sumber Anda untuk disebarkan ke instans Amazon Linux atau Red Hat Enterprise Linux Amazon EC2
Sekarang saatnya untuk mengonfigurasi konten sumber aplikasi Anda sehingga Anda memiliki sesuatu untuk diterapkan ke instance.
Topik
Dapatkan kode sumbernya
Untuk tutorial ini, Anda menerapkan platform penerbitan WordPress konten dari mesin pengembangan Anda ke EC2 instans Amazon target. Untuk mendapatkan kode WordPress sumber, Anda dapat menggunakan panggilan baris perintah bawaan. Atau, jika Anda telah menginstal Git di mesin pengembangan Anda, Anda dapat menggunakannya sebagai gantinya.
Untuk langkah-langkah ini, kami berasumsi Anda mengunduh salinan kode WordPress sumber ke /tmp
direktori di mesin pengembangan Anda. (Anda dapat memilih direktori apa pun yang Anda suka, tetapi ingat untuk mengganti lokasi Anda /tmp
di mana pun itu ditentukan dalam langkah-langkah ini.)
Pilih salah satu dari dua opsi berikut untuk menyalin file WordPress sumber ke mesin pengembangan Anda. Opsi pertama menggunakan panggilan baris perintah bawaan. Opsi kedua menggunakan Git.
Topik
Untuk mendapatkan salinan kode WordPress sumber (panggilan baris perintah bawaan)
-
Panggil wget perintah untuk mengunduh salinan kode WordPress sumber, sebagai file.zip, ke direktori saat ini:
wget https://github.com/WordPress/WordPress/archive/master.zip
-
Panggilunzip,mkdir,cp, dan rm perintah untuk:
-
Buka paket
master
file.zip ke dalam/tmp/WordPress_Temp
direktori (folder). -
Salin isinya yang tidak di-zip ke folder
/tmp/WordPress
tujuan. -
Hapus
/tmp/WordPress_Temp
folder danmaster
file sementara.
Jalankan perintah satu per satu:
unzip master -d /tmp/WordPress_Temp
mkdir -p /tmp/WordPress
cp -paf /tmp/WordPress_Temp/WordPress-master/* /tmp/WordPress
rm -rf /tmp/WordPress_Temp
rm -f master
Ini meninggalkan Anda dengan satu set file kode WordPress sumber yang bersih di
/tmp/WordPress
folder. -
Untuk mendapatkan salinan kode WordPress sumber (Git)
-
Unduh dan instal Git
di mesin pengembangan Anda. -
Di
/tmp/WordPress
folder, panggil git init perintah. -
Panggil git clone perintah untuk mengkloning WordPress repositori publik, buat salinannya sendiri di folder tujuan:
/tmp/WordPress
git clone https://github.com/WordPress/WordPress.git /tmp/WordPress
Ini meninggalkan Anda dengan satu set file kode WordPress sumber yang bersih di
/tmp/WordPress
folder.
Buat skrip untuk menjalankan aplikasi Anda
Selanjutnya, buat folder dan skrip di direktori. CodeDeploy menggunakan skrip ini untuk menyiapkan dan menerapkan revisi aplikasi Anda pada instans Amazon target. EC2 Anda dapat menggunakan editor teks apa pun untuk membuat skrip.
-
Buat direktori skrip dalam salinan kode WordPress sumber Anda:
mkdir -p /tmp/WordPress/scripts
-
Buat
install_dependencies.sh
file di/tmp/WordPress/scripts
. Tambahkan baris berikut ke file.install_dependencies.sh
Script ini menginstal Apache, MySQL, dan. PHP Ini juga menambah SQL dukungan sayaPHP.#!/bin/bash sudo amazon-linux-extras install php7.4 sudo yum install -y httpd mariadb-server php
-
Buat
start_server.sh
file di/tmp/WordPress/scripts
. Tambahkan baris berikut ke file.start_server.sh
Skrip ini dimulai Apache dan MySQL.#!/bin/bash systemctl start mariadb.service systemctl start httpd.service systemctl start php-fpm.service
-
Buat
stop_server.sh
file di/tmp/WordPress/scripts
. Tambahkan baris berikut ke file.stop_server.sh
Skrip ini menghentikan Apache dan MySQL.#!/bin/bash isExistApp="pgrep httpd" if [[ -n $isExistApp ]]; then systemctl stop httpd.service fi isExistApp=pgrep mysqld if [[ -n $isExistApp ]]; then systemctl stop mariadb.service fi isExistApp=pgrep php-fpm if [[ -n $isExistApp ]]; then systemctl stop php-fpm.service fi
-
Buat
create_test_db.sh
file di/tmp/WordPress/scripts
. Tambahkan baris berikut ke file.create_test_db.sh
Skrip ini menggunakan My SQL untuk membuattest
database WordPress untuk digunakan.#!/bin/bash mysql -uroot <<CREATE_TEST_DB CREATE DATABASE IF NOT EXISTS test; CREATE_TEST_DB
-
Akhirnya, buat
change_permissions.sh
skrip di/tmp/WordPress/scripts
. Ini digunakan untuk mengubah izin folder di Apache.penting
Skrip ini memperbarui izin pada
/tmp/WordPress
folder sehingga siapa pun dapat menulis ke sana. Ini diperlukan agar WordPress dapat menulis ke database-nya selamaLangkah 5: Perbarui dan terapkan ulang aplikasi Anda WordPress . Setelah WordPress aplikasi diatur, jalankan perintah berikut untuk memperbarui izin ke pengaturan yang lebih aman:chmod -R 755 /var/www/html/WordPress
#!/bin/bash chmod -R 777 /var/www/html/WordPress
-
Berikan semua skrip izin yang dapat dieksekusi. Pada baris perintah, ketik:
chmod +x /tmp/WordPress/scripts/*
Tambahkan file spesifikasi aplikasi
Selanjutnya, tambahkan file spesifikasi aplikasi (AppSpec file), file YAML
-
Petakan file sumber dalam revisi aplikasi Anda ke tujuan mereka pada EC2 instans Amazon target.
-
Tentukan izin khusus untuk file yang digunakan.
-
Tentukan skrip yang akan dijalankan pada EC2 instans Amazon target selama penerapan.
AppSpec File harus diberi namaappspec.yml
. Itu harus ditempatkan di direktori root kode sumber aplikasi. Dalam tutorial ini, direktori root adalah /tmp/WordPress
Dengan editor teks Anda, buat file bernamaappspec.yml
. Tambahkan baris berikut ke file:
version: 0.0 os: linux files: - source: / destination: /var/www/html/WordPress hooks: BeforeInstall: - location: scripts/install_dependencies.sh timeout: 300 runas: root AfterInstall: - location: scripts/change_permissions.sh timeout: 300 runas: root ApplicationStart: - location: scripts/start_server.sh - location: scripts/create_test_db.sh timeout: 300 runas: root ApplicationStop: - location: scripts/stop_server.sh timeout: 300 runas: root
CodeDeploy menggunakan AppSpec file ini untuk menyalin semua file dalam /tmp/WordPress
folder pada mesin pengembangan ke /var/www/html/WordPress
folder pada EC2 instance Amazon target. Selama penerapan, CodeDeploy jalankan skrip yang ditentukan seperti pada /var/www/html/WordPress/scripts
folder root
pada EC2 instans Amazon target pada peristiwa tertentu selama siklus hidup penerapan, seperti dan. BeforeInstall
AfterInstall
Jika salah satu skrip ini membutuhkan waktu lebih dari 300 detik (5 menit) untuk dijalankan, CodeDeploy hentikan penerapan dan tandai penerapan sebagai gagal.
Untuk informasi selengkapnya tentang pengaturan ini, lihatCodeDeploy AppSpec referensi berkas.
penting
Lokasi dan jumlah spasi antara masing-masing item dalam file ini penting. Jika spasi salah, CodeDeploy memunculkan kesalahan yang mungkin sulit untuk di-debug. Untuk informasi selengkapnya, lihat AppSpec Spasi file.