Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Anwendung erstellen, hochladen und bereitstellen
Erstellen Sie zunächst ein WordPress Anwendungspaket und verwenden Sie dann das, CodeDeploy CTs um die Anwendung zu erstellen und bereitzustellen.
Laden Sie die Dateien herunter WordPress, extrahieren Sie sie und erstellen Sie eine. Verzeichnis /scripts.
Linux-Befehl:
wget https://github.com/WordPress/WordPress/archive/master.zipWindows:
https://github.com/WordPress/WordPress/archive/master.zipIn ein Browserfenster einfügen und die Zip-Datei herunterladen.Erstellen Sie ein temporäres Verzeichnis, in dem das Paket zusammengestellt werden soll.
Linux:
mkdir /tmp/WordPressWindows: Erstellen Sie ein "WordPress" Verzeichnis. Sie werden den Verzeichnispfad später verwenden.
Extrahieren Sie die WordPress Quelle in das Verzeichnis WordPress "" und erstellen Sie ein. Verzeichnis /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: Gehen Sie in das Verzeichnis "WordPress", das Sie erstellt haben, und erstellen Sie dort ein Verzeichnis „scripts“.
Wenn Sie sich in einer Windows-Umgebung befinden, stellen Sie sicher, dass Sie den Unterbrechungstyp für die Skriptdateien auf Unix (LF) setzen. In Notepad ++ ist dies eine Option unten rechts im Fenster.
Erstellen Sie die Datei CodeDeploy appspec.yml im WordPress Verzeichnis (wenn Sie das Beispiel kopieren, überprüfen Sie den Einzug, jedes Leerzeichen zählt). WICHTIG: Stellen Sie sicher, dass der Quellpfad für das Kopieren der WordPress Dateien (in diesem Fall in Ihrem WordPress Verzeichnis) an das erwartete Ziel (/) korrekt ist. var/www/html/WordPress Im Beispiel befindet sich die Datei appspec.yml im Verzeichnis mit den WordPress Dateien, sodass nur „/“ benötigt wird. Auch wenn Sie ein RHEL-AMI für Ihre Auto Scaling Scaling-Gruppe verwendet haben, sollten Sie die Zeile „os: linux“ unverändert lassen. Beispiel für eine appspec.yml-Datei:
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-
Erstellen Sie Bash-Dateiskripts in der. WordPress Verzeichnis /scripts.
Erstellen Sie zunächst
config_wordpress.shmit dem folgenden Inhalt (wenn Sie möchten, können Sie die Datei wp-config.php direkt bearbeiten).Anmerkung
DBNameErsetzen Sie durch den Wert, der im HA Stack-RFC angegeben ist (z. B.wordpress).DB_MasterUsernameErsetzen Sie durch denMasterUsernameWert, der im HA Stack-RFC angegeben ist (z. B.admin).DB_MasterUserPasswordErsetzen Sie durch denMasterUserPasswordWert, der im HA Stack-RFC angegeben ist (z. B.p4ssw0rd).DB_ENDPOINTErsetzen Sie es in den Ausführungsausgaben des HA Stack-RFC durch den DNS-Namen des Endpunkts (z. B.srt1cz23n45sfg.clgvd67uvydk.us-east-1.rds.amazonaws.com). Sie finden dies mit der GetRfcOperation (CLI: get-rfc --rfc-id RFC_ID) oder auf der RFC-Detailseite der AMS-Konsole für den HA Stack-RFC, den Sie zuvor eingereicht haben.#!/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 Erstellen Sie im selben Verzeichnis mit dem folgenden Inhalt:
install_dependencies.sh#!/bin/bash yum install -y php yum install -y php-mysql yum install -y mysql service httpd restartAnmerkung
HTTPS wird beim Start als Teil der Benutzerdaten installiert, damit Integritätsprüfungen von Anfang an funktionieren.
Erstellen Sie im selben Verzeichnis
start_server.shmit dem folgenden Inhalt:Verwenden Sie für Amazon Linux-Instances Folgendes:
#!/bin/bash service httpd startVerwenden Sie für RHEL-Instances Folgendes (die zusätzlichen Befehle sind Richtlinien, die es SELINUX ermöglichen, sie zu akzeptieren): 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
Erstellen Sie im selben Verzeichnis
stop_server.shmit dem folgenden Inhalt:#!/bin/bash service httpd stopErstellen Sie das Zip-Bundle.
Linux:
$ cd /tmp/WordPress $ zip -r wordpress.zip .Windows: Gehen Sie in Ihr "WordPress" -Verzeichnis, wählen Sie alle Dateien aus und erstellen Sie eine ZIP-Datei. Achten Sie darauf, sie wordpress.zip zu nennen.
Laden Sie das Anwendungspaket in den S3-Bucket hoch.
Das Bundle muss vorhanden sein, um den Stack weiter bereitstellen zu können.
Sie haben automatisch Zugriff auf jede S3-Bucket-Instanz, die Sie erstellen. Sie können über Ihre Bastions oder über die S3-Konsole darauf zugreifen und das WordPress Paket mit hochladen drag-and-drop oder die ZIP-Datei durchsuchen und auswählen.
Sie können auch den folgenden Befehl in einem Shell-Fenster verwenden. Vergewissern Sie sich, dass Sie den richtigen Pfad zur ZIP-Datei haben:
aws s3 cp wordpress.zip s3://BUCKET_NAME/Stellen Sie das WordPress Anwendungspaket bereit.
Wenn Sie die folgenden Daten sammeln, bevor Sie beginnen, kann die Bereitstellung schneller vonstattengehen.
ERFORDERLICHE DATEN:
VPC-ID: Dieser Wert bestimmt, wo sich Ihr S3-Bucket befinden wird. Verwenden Sie dieselbe VPC-ID, die Sie zuvor verwendet haben.CodeDeployApplicationNameundCodeDeployApplicationName: DerApplicationNameWert, den Sie im HA 2-Tier Stack-RFC verwendet haben, legt den und den CodeDeployApplicationName fest. CodeDeployDeploymentGroupName Das Beispiel verwendet "WordPress", aber Sie haben möglicherweise einen anderen Wert verwendet.S3Location: Verwenden Sie für denS3BucketBucketName, den Sie zuvor erstellt haben. DieS3BundleTypeundS3Keystammen aus dem Paket, das Sie in Ihren S3-Shop gestellt haben.
Geben Sie das JSON-Schema der Ausführungsparameter für die CodeDeploy Anwendung Deploy CT in eine JSON-Datei mit dem Namen Deploy CDApp Params.json aus.
aws amscm get-change-type-version --change-type-id "ct-2edc3sd1sqmrb" --query "ChangeTypeVersion.ExecutionInputSchema" --output text > DeployCDAppParams.jsonÄndern Sie das Schema wie folgt und speichern Sie es unter. Sie können den Inhalt löschen und ersetzen.
{ "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" } } } }Geben Sie die JSON-Vorlage für CreateRfc in eine Datei in Ihrem aktuellen Ordner mit dem Namen Deploy CDApp rfc.json aus:
aws amscm create-rfc --generate-cli-skeleton > DeployCDAppRfc.jsonÄndern und speichern Sie die Datei Deploy CDApp RFC.json. Sie können den Inhalt löschen und ersetzen. Beachten Sie, dass
RequestedStartTimesie jetzt optionalRequestedEndTimesind. Wenn Sie sie ausschließen, wird ein ASAP-RFC erstellt, der ausgeführt wird, sobald er genehmigt wurde (was normalerweise automatisch geschieht). Um einen geplanten RFC einzureichen, fügen Sie diese Werte hinzu.{ "ChangeTypeVersion": "1.0", "ChangeTypeId": "ct-2edc3sd1sqmrb", "Title": "CD-Deploy-For-WP-RFC" }Erstellen Sie den RFC, indem Sie die Datei Deploy CDApp Rfc und die Ausführungsparameterdatei Deploy CDApp Params angeben:
aws amscm create-rfc --cli-input-json file://DeployCDAppRfc.json --execution-parameters file://DeployCDAppParams.jsonSie erhalten den Wert RfcId des neuen RFC in der Antwort. Speichern Sie die ID für nachfolgende Schritte.
Reichen Sie den RFC ein:
aws amscm submit-rfc --rfc-idRFC_IDWenn der RFC erfolgreich ist, erhalten Sie keine Ausgabe.
Führen Sie folgenden Befehl aus, um den RFC-Status zu überprüfen
aws amscm get-rfc --rfc-idRFC_ID