Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Fase 2: Configura il contenuto sorgente da distribuire sull'istanza Amazon Amazon Amazon Amazon Amazon di Red Hat Enterprise Linux EC2
È ora possibile configurare l'applicazione dei contenuti di origine in modo da avere materiale da distribuire all'istanza.
Argomenti
Ottieni il codice sorgente
Per questo tutorial, distribuisci la piattaforma di pubblicazione WordPress dei contenuti dalla tua macchina di sviluppo all'EC2istanza Amazon di destinazione. Per ottenere il codice WordPress sorgente, puoi utilizzare le chiamate da riga di comando integrate. In alternativa, si può usare Git se è installato nel computer di sviluppo.
Per questi passaggi, supponiamo che tu abbia scaricato una copia del codice WordPress sorgente /tmp
nella directory del tuo computer di sviluppo. È possibile scegliere una directory qualsiasi, ma ci si deve ricordare di sostituire la posizione per /tmp
nel punto specificato in queste fasi.
Scegli una delle due opzioni seguenti per copiare i file WordPress sorgente sulla tua macchina di sviluppo. La prima opzione utilizza le chiamate della riga di comando integrata. La seconda usa Git.
Argomenti
Per ottenere una copia del codice WordPress sorgente (chiamate da riga di comando integrate)
-
Chiamate il wget comando per scaricare una copia del codice WordPress sorgente, come file.zip, nella directory corrente:
wget https://github.com/WordPress/WordPress/archive/master.zip
-
Chiamare i comandi unzip, mkdir, cp e rm per:
-
Decomprimere il file .zip
master
nella directory (cartella)/tmp/WordPress_Temp
. -
Copiare i contenuti estratti dallo zip nella cartella di destinazione
/tmp/WordPress
. -
Eliminare la cartella temporanea
/tmp/WordPress_Temp
e il filemaster
.
Eseguire uno alla volta i comandi:
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
Questo ti lascia con un set pulito di file di codice WordPress sorgente nella
/tmp/WordPress
cartella. -
Per ottenere una copia del codice WordPress sorgente (Git)
-
Scaricare e installare Git
sul computer di sviluppo. -
Nella cartella
/tmp/WordPress
, chiamare il comando git init. -
Chiamate il git clone comando per clonare l' WordPressarchivio pubblico, creandone una copia nella cartella di
/tmp/WordPress
destinazione:git clone https://github.com/WordPress/WordPress.git /tmp/WordPress
Questo ti lascia con un set pulito di file di codice WordPress sorgente nella
/tmp/WordPress
cartella.
Crea script per eseguire la tua applicazione
Quindi, crea una cartella e degli script nella directory. CodeDeploy utilizza questi script per configurare e distribuire la revisione dell'applicazione sull'istanza Amazon di destinazione. EC2 È possibile usare qualsiasi editor di testo per creare gli script.
-
Crea una directory di script nella tua copia del codice sorgente: WordPress
mkdir -p /tmp/WordPress/scripts
-
Creare un file
install_dependencies.sh
in/tmp/WordPress/scripts
. Aggiungere le seguenti righe al file. Questoinstall_dependencies.sh
script installa Apache, My SQL e. PHP Aggiunge anche il mio SQL supporto a. PHP#!/bin/bash sudo amazon-linux-extras install php7.4 sudo yum install -y httpd mariadb-server php
-
Creare un file
start_server.sh
in/tmp/WordPress/scripts
. Aggiungere le seguenti righe al file. Questostart_server.sh
script avvia Apache and MySQL.#!/bin/bash systemctl start mariadb.service systemctl start httpd.service systemctl start php-fpm.service
-
Creare un file
stop_server.sh
in/tmp/WordPress/scripts
. Aggiungere le seguenti righe al file. Questostop_server.sh
script interrompe Apache e My. SQL#!/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
-
Creare un file
create_test_db.sh
in/tmp/WordPress/scripts
. Aggiungere le seguenti righe al file. Questocreate_test_db.sh
script utilizza My SQL per creare untest
database WordPress da utilizzare.#!/bin/bash mysql -uroot <<CREATE_TEST_DB CREATE DATABASE IF NOT EXISTS test; CREATE_TEST_DB
-
Infine creare uno script
change_permissions.sh
in/tmp/WordPress/scripts
. Questo viene utilizzato per modificare le autorizzazioni per la cartella in Apache.Importante
Questo script ha aggiornato le autorizzazioni nella cartella
/tmp/WordPress
in modo che tutti possano scriverci. Questo è necessario per WordPress poter scrivere nel suo database duranteFase 5: Aggiornare e ridistribuire l'applicazione WordPress . Dopo aver configurato l' WordPress applicazione, esegui il comando seguente per aggiornare le autorizzazioni a un'impostazione più sicura:chmod -R 755 /var/www/html/WordPress
#!/bin/bash chmod -R 777 /var/www/html/WordPress
-
Assegnare autorizzazioni eseguibili a tutti gli script. Sulla riga di comando, digitare:
chmod +x /tmp/WordPress/scripts/*
Aggiungere un file di specifiche dell'applicazione
Quindi, aggiungi un file di specifiche dell'applicazione (AppSpec file), un file in YAML
-
Mappa i file di origine nella revisione dell'applicazione alle rispettive destinazioni sull'EC2istanza Amazon di destinazione.
-
Specificare autorizzazioni personalizzate per i file distribuiti.
-
Specificate gli script da eseguire sull'EC2istanza Amazon di destinazione durante la distribuzione.
Il AppSpec file deve avere un nomeappspec.yml
. Deve essere inserito nella directory root del codice sorgente dell'applicazione. In questo tutorial, la directory root è /tmp/WordPress
.
Con un editor di testo, creare un file denominato appspec.yml
. Aggiungere le seguenti righe al 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 utilizza questo AppSpec file per copiare tutti i file nella /tmp/WordPress
cartella sulla macchina di sviluppo nella /var/www/html/WordPress
cartella sull'EC2istanza Amazon di destinazione. Durante la distribuzione, CodeDeploy esegue gli script specificati come root
nella /var/www/html/WordPress/scripts
cartella sull'EC2istanza Amazon di destinazione in occasione di eventi specifici durante il ciclo di vita della distribuzione, ad esempio e. BeforeInstall
AfterInstall
Se uno di questi script impiega più di 300 secondi (5 minuti) per essere eseguito, CodeDeploy interrompe la distribuzione e contrassegna la distribuzione come fallita.
Per ulteriori informazioni su queste impostazioni, consulta i CodeDeploy AppSpec riferimento al file.
Importante
Le ubicazioni e i numeri di spazi tra ciascuna delle voci in questo file sono importanti. Se la spaziatura non è corretta, CodeDeploy genera un errore di cui potrebbe essere difficile eseguire il debug. Per ulteriori informazioni, consulta AppSpec Spaziatura tra i file.