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.
Schritt 2: Konfigurieren Sie Ihren Quellinhalt für die Bereitstellung auf der Amazon Linux- oder Red Hat Enterprise Linux EC2 Amazon-Instance
Jetzt ist es an der Zeit, die Quellinhalte Ihrer Anwendung zu konfigurieren, damit Sie Inhalte haben, die Sie auf der Instance bereitstellen können.
Themen
Holen Sie sich den Quellcode
In diesem Tutorial stellen Sie die Plattform zur Veröffentlichung von WordPress Inhalten von Ihrem Entwicklungscomputer auf der EC2 Amazon-Zielinstanz bereit. Um den WordPress Quellcode abzurufen, können Sie integrierte Befehlszeilenaufrufe verwenden. Wenn Sie auf Ihrem Entwicklungscomputer Git installiert haben, können Sie stattdessen auch Git verwenden.
Für diese Schritte gehen wir davon aus, dass Sie eine Kopie des WordPress Quellcodes in das /tmp
Verzeichnis auf Ihrem Entwicklungscomputer heruntergeladen haben. (Sie können jedes beliebige Verzeichnis wählen. Denken Sie aber daran, den Speicherort für /tmp
zu ersetzen, wenn dies in den folgenden Schritten angegeben ist.)
Wählen Sie eine der folgenden beiden Optionen, um die WordPress Quelldateien auf Ihren Entwicklungscomputer zu kopieren. Bei der ersten Option werden integrierte Befehlszeilenaufrufe genutzt. Bei der zweiten Option wird Git verwendet.
Themen
Um eine Kopie des WordPress Quellcodes zu erhalten (integrierte Befehlszeilenaufrufe)
-
Rufen Sie den wget Befehl auf, um eine Kopie des WordPress Quellcodes als ZIP-Datei in das aktuelle Verzeichnis herunterzuladen:
wget https://github.com/WordPress/WordPress/archive/master.zip
-
Rufen Sie die Befehle unzip, mkdir, cp und rm auf, um:
-
die
master
.zip-Datei im/tmp/WordPress_Temp
-Verzeichnis (Ordner) zu entpacken. -
den entpackten Inhalt in den
/tmp/WordPress
-Zielordner zu kopieren. -
den temporären
/tmp/WordPress_Temp
-Ordner und diemaster
-Datei zu löschen.
Führen Sie die Befehle einzeln aus:
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
Dadurch erhalten Sie einen sauberen Satz von WordPress Quellcodedateien im
/tmp/WordPress
Ordner. -
Um eine Kopie des WordPress Quellcodes zu erhalten (Git)
-
Laden Sie Git
auf Ihren Entwicklungscomputer herunter und installieren Sie das Programm. -
Rufen Sie im Ordner
/tmp/WordPress
den Befehl git init auf. -
Rufen Sie den git clone Befehl zum Klonen des öffentlichen WordPress Repositorys auf und erstellen Sie Ihre eigene Kopie davon im
/tmp/WordPress
Zielordner:git clone https://github.com/WordPress/WordPress.git /tmp/WordPress
Dadurch erhalten Sie einen sauberen Satz von WordPress Quellcodedateien im
/tmp/WordPress
Ordner.
Erstellen Sie Skripts, um Ihre Anwendung auszuführen
Erstellen Sie als Nächstes einen Ordner und Skripts im Verzeichnis. CodeDeploy verwendet diese Skripts, um Ihre Anwendungsrevision auf der EC2 Amazon-Zielinstanz einzurichten und bereitzustellen. Sie können zum Erstellen der Skripts jeden beliebigen Texteditor verwenden.
-
Erstellen Sie ein Skriptverzeichnis in Ihrer Kopie des WordPress Quellcodes:
mkdir -p /tmp/WordPress/scripts
-
Erstellen Sie eine
install_dependencies.sh
-Datei in/tmp/WordPress/scripts
. Fügen Sie der Datei die folgenden Zeilen hinzu. Diesesinstall_dependencies.sh
Skript installiert ApacheSQL, My undPHP. Es fügt auch Meine SQL Unterstützung hinzuPHP.#!/bin/bash sudo amazon-linux-extras install php7.4 sudo yum install -y httpd mariadb-server php
-
Erstellen Sie eine
start_server.sh
-Datei in/tmp/WordPress/scripts
. Fügen Sie der Datei die folgenden Zeilen hinzu. Diesesstart_server.sh
Skript startet Apache und MySQL.#!/bin/bash systemctl start mariadb.service systemctl start httpd.service systemctl start php-fpm.service
-
Erstellen Sie eine
stop_server.sh
-Datei in/tmp/WordPress/scripts
. Fügen Sie der Datei die folgenden Zeilen hinzu. Diesesstop_server.sh
Skript stoppt Apache und 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
-
Erstellen Sie eine
create_test_db.sh
-Datei in/tmp/WordPress/scripts
. Fügen Sie der Datei die folgenden Zeilen hinzu. Diesescreate_test_db.sh
Skript verwendet MySQL, um einetest
Datenbank zur Verwendung WordPress zu erstellen.#!/bin/bash mysql -uroot <<CREATE_TEST_DB CREATE DATABASE IF NOT EXISTS test; CREATE_TEST_DB
-
Erstellen Sie schließlich ein
change_permissions.sh
-Skript in/tmp/WordPress/scripts
. Damit werden die Ordnerberechtigungen in Apache geändert.Wichtig
In diesem Skript wurden die Berechtigungen für den
/tmp/WordPress
-Ordner aktualisiert, damit alle Benutzer darin schreiben können. Dies ist erforderlich, damit WordPress währenddessen in die Datenbank geschrieben werden kannSchritt 5: Aktualisieren Sie Ihre WordPress Anwendung und stellen Sie sie erneut bereit. Führen Sie nach der Einrichtung der WordPress Anwendung den folgenden Befehl aus, um die Berechtigungen auf eine sicherere Einstellung zu aktualisieren:chmod -R 755 /var/www/html/WordPress
#!/bin/bash chmod -R 777 /var/www/html/WordPress
-
Geben Sie allen Skripts ausführbare Berechtigungen. Geben Sie an der Befehlszeile Folgendes ein:
chmod +x /tmp/WordPress/scripts/*
Fügen Sie eine Anwendungsspezifikationsdatei hinzu
Fügen Sie als Nächstes eine Anwendungsspezifikationsdatei (AppSpec Datei) hinzu, eine YAML
-
Ordnen Sie die Quelldateien in Ihrer Anwendungsrevision ihren Zielen auf der EC2 Amazon-Zielinstanz zu.
-
Geben Sie benutzerdefinierte Berechtigungen für bereitgestellte Dateien an.
-
Geben Sie Skripte an, die während der Bereitstellung auf der EC2 Amazon-Zielinstanz ausgeführt werden sollen.
Die AppSpec Datei muss benannt werdenappspec.yml
. Sie muss sich im Stammverzeichnis des Anwendungsquellcodes befinden. Das Stammverzeichnis dieses Tutorials ist /tmp/WordPress
.
Erstellen Sie mit Ihrem Texteditor eine Datei mit dem Namen appspec.yml
. Fügen Sie der Datei die folgenden Zeilen hinzu:
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 verwendet diese AppSpec Datei, um alle Dateien im /tmp/WordPress
Ordner auf dem Entwicklungscomputer in den Ordner auf der /var/www/html/WordPress
EC2 Amazon-Zielinstanz zu kopieren. CodeDeploy Führt während der Bereitstellung die angegebenen Skripts wie root
im /var/www/html/WordPress/scripts
Ordner auf der EC2 Amazon-Zielinstanz zu bestimmten Ereignissen während des Bereitstellungszyklus aus, z. B. BeforeInstall
undAfterInstall
. Wenn die Ausführung eines dieser Skripts länger als 300 Sekunden (5 Minuten) dauert, wird die Bereitstellung CodeDeploy gestoppt und die Bereitstellung als fehlgeschlagen markiert.
Weitere Informationen zu diesen Einstellungen finden Sie in der CodeDeploy AppSpec Dateiverweis.
Wichtig
Die Platzierung und Anzahl von Leerzeichen zwischen den einzelnen Elementen in dieser Datei ist wichtig. Wenn der Abstand falsch ist, wird CodeDeploy ein Fehler ausgelöst, der möglicherweise schwer zu debuggen ist. Weitere Informationen finden Sie unter AppSpec Dateiabstand.