Crea, carica e distribuisci l'applicazione - Guida avanzata all'onboarding AMS

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à.

Crea, carica e distribuisci l'applicazione

Innanzitutto, create un pacchetto di WordPress applicazioni, quindi utilizzate il CodeDeploy CTs per creare e distribuire l'applicazione.

  1. Scarica WordPress, estrai i file e crea un file. cartella /scripts.

    Comando Linux:

    wget https://github.com/WordPress/WordPress/archive/master.zip

    Windows: incolla https://github.com/WordPress/WordPress/archive/master.zip in una finestra del browser e scarica il file zip.

    Crea una directory temporanea in cui assemblare il pacchetto.

    Linux:

    mkdir /tmp/WordPress

    Windows: crea una cartella "WordPress", utilizzerai il percorso della directory in seguito.

  2. Estrai il WordPress codice sorgente nella cartella WordPress "" e crea un file. cartella /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 scripts

    Windows: vai alla cartella "WordPress" che hai creato e lì crea una cartella «scripts».

    Se utilizzate un ambiente Windows, assicuratevi di impostare il tipo di interruzione per i file di script su Unix (LF). In Notepad ++, questa è un'opzione in basso a destra della finestra.

  3. Crea il file CodeDeploy appspec.yml, nella WordPress directory (se copi l'esempio, controlla l'indentazione, ogni spazio conta). IMPORTANTE: assicurati che il percorso «sorgente» sia corretto per copiare WordPress i file (in questo caso, nella tua WordPress directory) nella destinazione prevista (/). var/www/html/WordPress Nell'esempio, il file appspec.yml si trova nella directory con WordPress i file, quindi è necessario solo «/». Inoltre, anche se hai usato un'AMI RHEL per il tuo gruppo Auto Scaling, lascia la riga «os: linux» così com'è. Esempio di file 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
  4. Crea script di file bash in. WordPress cartella /scripts.

    Innanzitutto, crea config_wordpress.sh con il seguente contenuto (se preferisci, puoi modificare direttamente il file wp-config.php).

    Nota

    Sostituisci DBName con il valore fornito nell'HA Stack RFC (ad esempio,wordpress).

    Sostituisci DB_MasterUsername con il MasterUsername valore fornito nell'HA Stack RFC (ad esempio,). admin

    Sostituisci DB_MasterUserPassword con il MasterUserPassword valore fornito nell'HA Stack RFC (ad esempio,). p4ssw0rd

    Sostituire DB_ENDPOINT con il nome DNS dell'endpoint negli output di esecuzione di HA Stack RFC (ad esempio,). srt1cz23n45sfg.clgvd67uvydk.us-east-1.rds.amazonaws.com Puoi trovarlo con l'GetRfcoperazione (CLI: get-rfc --rfc-id RFC_ID) o nella pagina dei dettagli RFC della console AMS per l'HA Stack RFC che hai inviato in precedenza.

    #!/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
  5. install_dependencies.shNella stessa directory, crea con il seguente contenuto:

    #!/bin/bash yum install -y php yum install -y php-mysql yum install -y mysql service httpd restart
    Nota

    HTTPS viene installato come parte dei dati utente al momento del lancio per consentire il funzionamento dei controlli sanitari sin dall'inizio.

  6. Nella stessa directory, crea start_server.sh con il seguente contenuto:

    • Per le istanze Amazon Linux, usa questo:

      #!/bin/bash service httpd start
    • Per le istanze RHEL, usa questo (i comandi aggiuntivi sono politiche che consentono a SELINUX di accettare): 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
  7. Nella stessa directory create stop_server.sh con il seguente contenuto:

    #!/bin/bash service httpd stop
  8. Crea il pacchetto zip.

    Linux:

    $ cd /tmp/WordPress $ zip -r wordpress.zip .

    Windows: vai alla cartella WordPress "" e seleziona tutti i file e crea un file zip, assicurati di chiamarlo wordpress.zip.

  1. Carica il pacchetto dell'applicazione nel bucket S3.

    Il pacchetto deve essere disponibile per continuare a distribuire lo stack.

    Hai automaticamente accesso a qualsiasi istanza di bucket S3 che crei. Puoi accedervi tramite i tuoi bastioni o tramite la console S3 e caricare il WordPress pacchetto drag-and-drop o sfogliare e selezionare il file zip.

    Puoi anche usare il seguente comando in una finestra di shell; assicurati di avere il percorso corretto del file zip:

    aws s3 cp wordpress.zip s3://BUCKET_NAME/
  2. Distribuite il pacchetto di WordPress applicazioni.

    La raccolta dei seguenti dati prima di iniziare velocizzerà la distribuzione.

    DATI RICHIESTI:

    • VPC-ID: Questo valore determina dove si troverà il tuo S3 Bucket. Usa lo stesso ID VPC che hai usato in precedenza.

    • CodeDeployApplicationNameeCodeDeployApplicationName: il ApplicationName valore utilizzato nell'RFC HA 2-Tier Stack imposta e il. CodeDeployApplicationName CodeDeployDeploymentGroupName L'esempio utilizza "WordPress" ma potresti aver usato un valore diverso.

    • S3Location: PerS3Bucket, usa quello BucketName che hai creato in precedenza. I S3BundleType e S3Key provengono dal pacchetto che hai inserito nel tuo negozio S3.

    1. Emetti lo schema JSON dei parametri di esecuzione per l' CodeDeploy applicazione, distribuisci CT in un file JSON denominato Deploy Params.json. CDApp

      aws amscm get-change-type-version --change-type-id "ct-2edc3sd1sqmrb" --query "ChangeTypeVersion.ExecutionInputSchema" --output text > DeployCDAppParams.json
    2. Modifica lo schema come segue e salvalo come, puoi eliminare e sostituire i contenuti.

      { "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" } } } }
    3. Esporta il modello JSON CreateRfc per in un file, nella cartella corrente, denominato Deploy CDApp RFC.json:

      aws amscm create-rfc --generate-cli-skeleton > DeployCDAppRfc.json
    4. Modifica e salva il file Deploy CDApp RFC.json, puoi eliminare e sostituire il contenuto. Tieni presente che RequestedStartTime ora RequestedEndTime sono facoltativi; la loro esclusione crea un RFC ASAP che viene eseguito non appena viene approvato (cosa che di solito avviene automaticamente). Per inviare una RFC pianificata, aggiungi questi valori.

      { "ChangeTypeVersion": "1.0", "ChangeTypeId": "ct-2edc3sd1sqmrb", "Title": "CD-Deploy-For-WP-RFC" }
    5. Crea la RFC, specificando il file Deploy CDApp Rfc e il file dei parametri di esecuzione CDApp Deploy Params:

      aws amscm create-rfc --cli-input-json file://DeployCDAppRfc.json --execution-parameters file://DeployCDAppParams.json

      Riceverai il nuovo RFC nella RfcId risposta. Salva l'ID per i passaggi successivi.

    6. Invia la RFC:

      aws amscm submit-rfc --rfc-id RFC_ID

      Se la RFC ha esito positivo, non riceverai alcun output.

    7. Per verificare lo stato della RFC, esegui

      aws amscm get-rfc --rfc-id RFC_ID