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
masterfile.zip ke dalam/tmp/WordPress_Tempdirektori (folder). -
Salin isinya yang tidak di-zip ke folder
/tmp/WordPresstujuan. -
Hapus
/tmp/WordPress_Tempfolder danmasterfile sementara.
Jalankan perintah satu per satu:
unzip master -d /tmp/WordPress_Tempmkdir -p /tmp/WordPresscp -paf /tmp/WordPress_Temp/WordPress-master/* /tmp/WordPressrm -rf /tmp/WordPress_Temprm -f masterIni meninggalkan Anda dengan satu set file kode WordPress sumber yang bersih di
/tmp/WordPressfolder. -
Untuk mendapatkan salinan kode WordPress sumber (Git)
-
Unduh dan instal Git
di mesin pengembangan Anda. -
Di
/tmp/WordPressfolder, panggil git init perintah. -
Panggil git clone perintah untuk mengkloning WordPress repositori publik, buat salinannya sendiri di folder tujuan:
/tmp/WordPressgit clone https://github.com/WordPress/WordPress.git /tmp/WordPressIni meninggalkan Anda dengan satu set file kode WordPress sumber yang bersih di
/tmp/WordPressfolder.
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.shfile di/tmp/WordPress/scripts. Tambahkan baris berikut ke file.install_dependencies.shScript ini menginstal Apache, MySQL, dan PHP. Ini juga menambahkan dukungan MySQL ke PHP.#!/bin/bash sudo amazon-linux-extras install php7.4 sudo yum install -y httpd mariadb-server php -
Buat
start_server.shfile di/tmp/WordPress/scripts. Tambahkan baris berikut ke file.start_server.shScript ini dimulai Apache dan MySQL.#!/bin/bash systemctl start mariadb.service systemctl start httpd.service systemctl start php-fpm.service -
Buat
stop_server.shfile di/tmp/WordPress/scripts. Tambahkan baris berikut ke file.stop_server.shScript 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.shfile di/tmp/WordPress/scripts. Tambahkan baris berikut ke file.create_test_db.shScript ini menggunakan MySQL untuk membuattestdatabase WordPress untuk digunakan.#!/bin/bash mysql -uroot <<CREATE_TEST_DB CREATE DATABASE IF NOT EXISTS test; CREATE_TEST_DB -
Akhirnya, buat
change_permissions.shskrip di/tmp/WordPress/scripts. Ini digunakan untuk mengubah izin folder di Apache.penting
Skrip ini memperbarui izin pada
/tmp/WordPressfolder 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 berformat YAMB
-
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 file.
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.