Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Paso 2: Configure el contenido fuente para implementarlo en la EC2 instancia Amazon de Amazon Linux o Red Hat Enterprise Linux
Ha llegado el momento de configurar el contenido de origen de su aplicación para tener algo que implementar en la instancia.
Temas
Obtener el código fuente
Para este tutorial, debes implementar la plataforma de publicación de WordPress contenido desde tu máquina de desarrollo en la EC2 instancia de Amazon de destino. Para obtener el código WordPress fuente, puedes usar llamadas de línea de comandos integradas. O bien, si tiene instalado Git en su equipo de desarrollo, puede utilizarlo en su lugar.
Para estos pasos, suponemos que has descargado una copia del código WordPress fuente en el /tmp
directorio de tu máquina de desarrollo. (Puede elegir cualquier directorio que desee, pero no olvide sustituir la ubicación por /tmp
siempre que se especifique en estos pasos).
Elige una de las dos opciones siguientes para copiar los archivos WordPress fuente a tu máquina de desarrollo. La primera opción utiliza llamadas a línea de comandos integradas. La segunda opción utiliza Git.
Temas
Para obtener una copia del código WordPress fuente (llamadas de línea de comandos integradas)
-
Ejecute el wget comando para descargar una copia del código WordPress fuente, en forma de archivo.zip, en el directorio actual:
wget https://github.com/WordPress/WordPress/archive/master.zip
-
Ejecute los comandos unzip, mkdir, cp y rm para:
-
Descomprimir el archivo .zip
master
en el directorio (carpeta)/tmp/WordPress_Temp
. -
Copiar el contenido descomprimido en la carpeta de destino
/tmp/WordPress
. -
Eliminar la carpeta temporal
/tmp/WordPress_Temp
y el archivomaster
.
Ejecute los comandos de uno en uno:
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
Esto deja un conjunto limpio de archivos de código WordPress fuente en la
/tmp/WordPress
carpeta. -
Para obtener una copia del código WordPress fuente (Git)
-
Descargue e instale Git
en el equipo de desarrollo. -
En la carpeta
/tmp/WordPress
, ejecute el comando git init. -
Ejecuta el git clone comando para clonar el WordPress repositorio público y haz tu propia copia del mismo en la carpeta de
/tmp/WordPress
destino:git clone https://github.com/WordPress/WordPress.git /tmp/WordPress
Esto deja un conjunto limpio de archivos de código WordPress fuente en la
/tmp/WordPress
carpeta.
Crear scripts para ejecutar la aplicación
A continuación, cree una carpeta y scripts en el directorio. CodeDeploy utiliza estos scripts para configurar e implementar la revisión de la aplicación en la EC2 instancia de Amazon de destino. Puede utilizar cualquier editor de texto para crear los scripts.
-
Crea un directorio de scripts en tu copia del código WordPress fuente:
mkdir -p /tmp/WordPress/scripts
-
Cree un archivo
install_dependencies.sh
en/tmp/WordPress/scripts
. Añada las líneas siguientes al archivo. Esteinstall_dependencies.sh
script instala ApacheSQL, My yPHP. También añade Mi SQL soporte aPHP.#!/bin/bash sudo amazon-linux-extras install php7.4 sudo yum install -y httpd mariadb-server php
-
Cree un archivo
start_server.sh
en/tmp/WordPress/scripts
. Añada las líneas siguientes al archivo. Estestart_server.sh
script inicia Apache y MySQL.#!/bin/bash systemctl start mariadb.service systemctl start httpd.service systemctl start php-fpm.service
-
Cree un archivo
stop_server.sh
en/tmp/WordPress/scripts
. Añada las líneas siguientes al archivo. Estestop_server.sh
script detiene Apache y 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
-
Cree un archivo
create_test_db.sh
en/tmp/WordPress/scripts
. Añada las líneas siguientes al archivo. Estecreate_test_db.sh
script usa My SQL para crear unatest
base de datos WordPress para su uso.#!/bin/bash mysql -uroot <<CREATE_TEST_DB CREATE DATABASE IF NOT EXISTS test; CREATE_TEST_DB
-
Por último, cree un script
change_permissions.sh
en/tmp/WordPress/scripts
. Esto se utiliza para cambiar los permisos de carpeta en Apache.importante
Este script ha actualizado los permisos de la carpeta
/tmp/WordPress
de modo que cualquiera pueda escribir en ella. Esto es necesario para WordPress poder escribir en su base de datos durantePaso 5: Actualizar y volver a implementar la aplicación WordPress . Una vez configurada la WordPress aplicación, ejecute el siguiente comando para actualizar los permisos a una configuración más segura:chmod -R 755 /var/www/html/WordPress
#!/bin/bash chmod -R 777 /var/www/html/WordPress
-
Conceda permisos ejecutables a todos los scripts. En la línea de comando, escriba:
chmod +x /tmp/WordPress/scripts/*
Añadir un archivo de especificación de la aplicación
A continuación, añada un archivo de especificaciones de la aplicación (AppSpec archivo), un archivo YAML
-
Asigne los archivos fuente de la revisión de su aplicación a sus destinos en la EC2 instancia de Amazon de destino.
-
Especificar permisos personalizados para los archivos implementados.
-
Especifique los scripts que se ejecutarán en la EC2 instancia de Amazon de destino durante la implementación.
El AppSpec archivo debe tener un nombreappspec.yml
. Debe colocarse en el directorio raíz del código fuente de la aplicación. En este tutorial, el directorio raíz es /tmp/WordPress
.
Mediante su editor de texto, cree un archivo denominado appspec.yml
. Añada las líneas siguientes al archivo:
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 usa este AppSpec archivo para copiar todos los archivos de la /tmp/WordPress
carpeta de la máquina de desarrollo a la /var/www/html/WordPress
carpeta de la EC2 instancia de Amazon de destino. Durante la implementación, CodeDeploy ejecuta los scripts especificados como root
en la /var/www/html/WordPress/scripts
carpeta de la EC2 instancia de Amazon de destino en eventos específicos durante el ciclo de vida de la implementación, como BeforeInstall
yAfterInstall
. Si alguno de estos scripts tarda más de 300 segundos (5 minutos) en ejecutarse, CodeDeploy detiene el despliegue y marca el despliegue como fallido.
Para obtener más información sobre la configuración, consulte CodeDeploy AppSpec referencia de archivo.
importante
Las ubicaciones y el número de espacios entre cada uno de los elementos de este archivo son importantes. Si el espaciado es incorrecto, se produce CodeDeploy un error que puede ser difícil de depurar. Para obtener más información, consulte AppSpec Espaciado de archivos.