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.
Crear, cargar e implementar la aplicación
En primer lugar, cree un paquete de WordPress aplicaciones y, a continuación, utilice el CodeDeploy CTs para crear e implementar la aplicación.
Descargue WordPress, extraiga los archivos y cree un. directorio /scripts.
Comando de Linux:
wget https://github.com/WordPress/WordPress/archive/master.zipWindows: pégalo
https://github.com/WordPress/WordPress/archive/master.zipen una ventana del navegador y descarga el archivo zip.Cree un directorio temporal en el que ensamblar el paquete.
Linux:
mkdir /tmp/WordPressWindows: cree un directorio WordPress «», utilizará la ruta del directorio más adelante.
Extraiga la WordPress fuente al directorio WordPress «» y cree un. directorio /scripts.
Linux:
unzip master.zip -d /tmp/WordPress_Temp cp -paf /tmp/WordPress_Temp/WordPress-master/* /tmp/WordPress rm -rf /tmp/WordPress_Temp rm -f master cd /tmp/WordPress mkdir scriptsWindows: vaya al directorio «WordPress» que creó y cree allí un directorio de «scripts».
Si se encuentra en un entorno Windows, asegúrese de establecer el tipo de interrupción de los archivos de script en Unix (LF). En Notepad ++, esta opción se encuentra en la parte inferior derecha de la ventana.
Cree el archivo CodeDeploy appspec.yml en el WordPress directorio (si va a copiar el ejemplo, compruebe la hendidura, cada espacio cuenta). IMPORTANTE: Asegúrese de que la ruta «fuente» sea correcta para copiar los WordPress archivos (en este caso, en su WordPress directorio) al destino esperado (/). var/www/html/WordPress En el ejemplo, el archivo appspec.yml está en el directorio con los WordPress archivos, por lo que solo se necesita «/». Además, aunque haya utilizado una AMI de RHEL para su grupo de Auto Scaling, deje la línea «os: linux» tal como está. Ejemplo de archivo appspec.yml:
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/config_wordpress.sh timeout: 300 runas: root ApplicationStart: - location: scripts/start_server.sh timeout: 300 runas: root ApplicationStop: - location: scripts/stop_server.sh timeout: 300 runas: root-
Cree scripts de archivos bash en. WordPress directorio /scripts.
En primer lugar, cree
config_wordpress.shcon el siguiente contenido (si lo prefiere, puede editar el archivo wp-config.php directamente).nota
DBNameSustitúyalo por el valor indicado en el RFC de HA Stack (por ejemplo,wordpress).DB_MasterUsernameSustitúyalo por elMasterUsernamevalor indicado en el RFC de HA Stack (por ejemplo,admin).DB_MasterUserPasswordSustitúyalo por elMasterUserPasswordvalor indicado en el RFC de HA Stack (por ejemplo,p4ssw0rd).DB_ENDPOINTSustitúyalo por el nombre DNS del punto final en los resultados de ejecución del RFC de la pila HA (por ejemplo,srt1cz23n45sfg.clgvd67uvydk.us-east-1.rds.amazonaws.com). Puede encontrarlo en la GetRfcoperación (CLI: get-rfc --rfc-id RFC_ID) o en la página de detalles del RFC de la consola AMS para el RFC de la pila de alta disponibilidad que envió anteriormente.#!/bin/bash chmod -R 755 /var/www/html/WordPress cp /var/www/html/WordPress/wp-config-sample.php /var/www/html/WordPress/wp-config.php cd /var/www/html/WordPress sed -i "s/database_name_here/DBName/g" wp-config.php sed -i "s/username_here/DB_MasterUsername/g" wp-config.php sed -i "s/password_here/DB_MasterUserPassword/g" wp-config.php sed -i "s/localhost/DB_ENDPOINT/g" wp-config.php En
install_dependencies.shel mismo directorio, cree con el siguiente contenido:#!/bin/bash yum install -y php yum install -y php-mysql yum install -y mysql service httpd restartnota
HTTPS se instala como parte de los datos del usuario en el momento del lanzamiento para permitir que las comprobaciones de estado funcionen desde el principio.
En el mismo directorio, cree
start_server.shcon el siguiente contenido:Para las instancias de Amazon Linux, usa lo siguiente:
#!/bin/bash service httpd startPara las instancias de RHEL, usa esto (los comandos adicionales son políticas que permiten que SELINUX las acepte): WordPress
#!/bin/bash setsebool -P httpd_can_network_connect_db 1 setsebool -P httpd_can_network_connect 1 chcon -t httpd_sys_rw_content_t /var/www/html/WordPress/wp-content -R restorecon -Rv /var/www/html service httpd start
En el mismo directorio, cree
stop_server.shcon el siguiente contenido:#!/bin/bash service httpd stopCree el paquete zip.
Linux:
$ cd /tmp/WordPress $ zip -r wordpress.zip .Windows: Ve a tu directorio WordPress «», selecciona todos los archivos y crea un archivo zip, asegúrate de llamarlo wordpress.zip.
Cargue el paquete de aplicaciones en el bucket de S3.
El paquete debe estar en su lugar para poder seguir desplegando la pila.
Tendrá acceso automáticamente a cualquier instancia de bucket de S3 que cree. Puedes acceder a él a través de tus bastiones o a través de la consola S3 y cargar el WordPress paquete con el archivo zip drag-and-drop o buscarlo y seleccionarlo.
También puedes usar el siguiente comando en una ventana de shell; asegúrate de tener la ruta correcta al archivo zip:
aws s3 cp wordpress.zip s3://BUCKET_NAME/Implemente el paquete de WordPress aplicaciones.
Si recopila los siguientes datos antes de empezar, la implementación será más rápida.
DATOS NECESARIOS:
VPC-ID: Este valor determina dónde estará su bucket de S3. Use el mismo ID de VPC que utilizó anteriormente.CodeDeployApplicationNameyCodeDeployApplicationName: ElApplicationNamevalor que utilizó en el RFC de pila de 2 niveles de HA estableció el y el CodeDeployApplicationName . CodeDeployDeploymentGroupName En el ejemplo se utiliza «WordPress», pero es posible que haya utilizado un valor diferente.S3Location: ParaS3Bucket, usa elBucketNameque creaste anteriormente. LosS3BundleTypeyS3Keyson del paquete que pusiste en tu tienda S3.
Genera el esquema JSON de los parámetros de ejecución para la CodeDeploy aplicación Deploy Params.json en un archivo JSON denominado Deploy CDApp Params.json.
aws amscm get-change-type-version --change-type-id "ct-2edc3sd1sqmrb" --query "ChangeTypeVersion.ExecutionInputSchema" --output text > DeployCDAppParams.jsonModifique el esquema de la siguiente manera y guárdelo como, puede eliminar y reemplazar el contenido.
{ "Description": "DeployWPCDApp", "VpcId": "VPC_ID", "Name": "WordPressCDAppDeploy", "TimeoutInMinutes": 60, "Parameters": { "CodeDeployApplicationName": "WordPress", "CodeDeployDeploymentGroupName": "WordPress", "CodeDeployIgnoreApplicationStopFailures": false, "CodeDeployRevision": { "RevisionType": "S3", "S3Location": { "S3Bucket": "BUCKET_NAME", "S3BundleType": "zip", "S3Key": "wordpress.zip" } } } }Envía la plantilla JSON CreateRfc a un archivo, en tu carpeta actual, denominado Deploy CDApp RFC.json:
aws amscm create-rfc --generate-cli-skeleton > DeployCDAppRfc.jsonModifica y guarda el archivo Deploy CDApp RFC.json. Puedes eliminar y reemplazar el contenido. Tenga en cuenta que
RequestedStartTimeahoraRequestedEndTimeson opcionales; al excluirlos, se crea un RFC ASAP que se ejecuta tan pronto como se aprueba (lo que normalmente ocurre automáticamente). Para enviar una RFC programada, añada esos valores.{ "ChangeTypeVersion": "1.0", "ChangeTypeId": "ct-2edc3sd1sqmrb", "Title": "CD-Deploy-For-WP-RFC" }Cree la RFC especificando el archivo CDApp Rfc de despliegue y el archivo de parámetros de ejecución de Deploy CDApp Params:
aws amscm create-rfc --cli-input-json file://DeployCDAppRfc.json --execution-parameters file://DeployCDAppParams.jsonRecibirá el RfcId nuevo RFC en la respuesta. Guarde el ID para los pasos siguientes.
Envíe el RFC:
aws amscm submit-rfc --rfc-idRFC_IDSi la RFC es correcta, no recibirá ningún resultado.
Para comprobar el estado del RFC, ejecute
aws amscm get-rfc --rfc-idRFC_ID