Richten Sie eine WordPress-Website mit Lastenausgleich auf AWS EC2 ein. Erfahren Sie, wie Sie Ihre WordPress-Anwendung einrichten, um hohen Datenverkehr mit Auto-Scaling-Funktionen auf AWS mit Elastic Load Balancing zu bewältigen.
In dieser vollständigen Anleitung installieren Sie WordPress, konfigurieren Ihre Website für die Verwendung von AWS S3 für Mediendateien, erstellen ein Amazon Machine Image, richten eine Vorlage ein, erstellen eine Startkonfiguration, konfigurieren eine Gruppe mit automatischer Skalierung, um den Live-Datenverkehr zu verwalten, und richten RDS für Ihre Datenbank ein /P>
Voraussetzungen
- Eine laufende EC2-Instanz. Erfahren Sie, wie Sie eine AWS EC2-Instance erstellen. Sie können Ubuntu 20.04 LTS oder die neueste Version auswählen.
- Weisen Sie Ihrer EC2-Instance eine Elastic IP zu.
- Richten Sie Amazon RDS ein und verbinden Sie es mit EC2 Instance.
- Richten Sie AWS Route 53 für Ihren Domänennamen ein.
Wenn Sie alle oben genannten erforderlichen Voraussetzungen erfüllt haben, können Sie mit der Einrichtung von Elastic Load Balancing fortfahren.
Stellen Sie sicher, dass Sie die Sicherheitsgruppe Ihrer EC2-Instance zur Sicherheitsgruppe von RDS hinzugefügt haben, um eine erfolgreiche Verbindung von EC2 zu RDS herzustellen.
Ersteinrichtung des Servers
Stellen Sie eine SSH-Verbindung zur VM-Instanz her und beginnen Sie mit dem Aktualisieren und Upgraden der Pakete.
sudo apt update sudo apt upgrade
Installieren Sie Apache2 für WordPress
Installieren Sie Apache2 mit dem folgenden Befehl.
sudo apt install apache2
Dadurch wird apache2
installiert und alle erforderlichen Abhängigkeiten.
Firewall konfigurieren
Jetzt können Sie eine unkomplizierte Firewall (UFW) mit Apache einrichten, um den öffentlichen Zugriff auf Standard-Webports für HTTP
zu ermöglichen , HTTPS
und SSH
sudo ufw app list
Sie sehen alle aufgelisteten Anwendungen.
Output
Available applications:
Apache
Apache Full
Apache Secure
OpenSSH
- Apache :Dieses Profil öffnet Port
80
(normaler, unverschlüsselter Webverkehr) - Apache voll :Dieses Profil öffnet beide Ports
80
(normaler, unverschlüsselter Webverkehr) und Port443
(TLS/SSL-verschlüsselter Datenverkehr) - Apache-sicher :Dieses Profil öffnet nur Port
443
(TLS/SSL-verschlüsselter Datenverkehr) - OpenSSH :Dieses Profil öffnet Port
22
für den SSH-Zugriff.
Jetzt aktivieren wir Apache Full.
sudo ufw allow OpenSSH sudo ufw allow 'Apache Full'
Aktivieren Sie UFW mit dem folgenden Befehl
sudo ufw enable
Installieren Sie PHP 8 und Erweiterungen
Fügen Sie ondrej/php
hinzu das das PHP 8-Paket und andere erforderliche PHP-Erweiterungen enthält.
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update
Sobald Sie das PPA hinzugefügt haben, können Sie PHP 8 installieren.
sudo apt install php8.0 libapache2-mod-php8.0 php8.0-common php8.0-mysql php8.0-xml php8.0-xmlrpc php8.0-curl php8.0-gd php8.0-imagick php8.0-cli php8.0-dev php8.0-imap php8.0-mbstring php8.0-opcache php8.0-soap php8.0-zip php8.0-intl php8.0-bcmath unzip mariadb-client -y
PHP 8 konfigurieren
Jetzt konfigurieren wir PHP für Webanwendungen, indem wir einige Werte in php.ini
ändern Datei.
Für PHP 8 mit Apache der php.ini
Der Speicherort befindet sich im folgenden Verzeichnis.
sudo nano /etc/php/8.0/apache2/php.ini
Drücken Sie F6
für die Suche im Editor und aktualisieren Sie die folgenden Werte für eine bessere Leistung.
upload_max_filesize = 32M
post_max_size = 48M
memory_limit = 256M
max_execution_time = 600
max_input_vars = 3000
max_input_time = 1000
Nachdem Sie Ihre PHP-Einstellungen installiert und konfiguriert haben, müssen Sie Ihren Apache neu starten, damit die Änderungen wirksam werden.
sudo service apache2 restart
Website-Verzeichnisse konfigurieren
Sobald Sie PHP 8 und Apache installiert haben, können Sie mit den Setup-Verzeichnissen fortfahren.
Ihre Website befindet sich im Home-Verzeichnis und hat die folgende Struktur.
Ersetzen Sie yourdomainname
mit Ihrem ursprünglichen Domainnamen ohne die Erweiterung.
/var/www/html/ -- yourdomainname ---- public
Die public
Verzeichnis ist das Stammverzeichnis Ihrer Website.
Jetzt erstellen wir diese Verzeichnisse und setzen die richtigen Berechtigungen
Sie müssen eine SSH-Verbindung zu Ihrer VM-Instanz herstellen und diese Befehle ausführen
mkdir -p /var/www/html/yourdomainname/public sudo chmod -R 755 /var/www/html/yourdomainname sudo chown -R www-data:www-data /var/www/html/yourdomainname
Virtuelle Hosts für WordPress konfigurieren
Erstellen Sie eine neue Konfigurationsdatei für Ihre Website im sites-available
Verzeichnis.
sudo nano /etc/apache2/sites-available/yourdomainname.conf
Kopieren Sie die folgende Konfiguration und fügen Sie sie ein. Stellen Sie sicher, dass Sie die Anweisungen server_name, error_log und root so ändern, dass sie mit Ihrem Domänennamen übereinstimmen. Drücken Sie CTRL+X
gefolgt von Y
um die Änderungen zu speichern.
<VirtualHost *:80> ServerAdmin [email protected] ServerName www.yourdomainname.com ServerAlias yourdomainname.com DocumentRoot /var/www/html/yourdomainname/public <Directory /var/www/html/yourdomainname/public> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> <Directory /usr/share/phpmyadmin> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/yourdomainname.com_error.log CustomLog ${APACHE_LOG_DIR}/yourdomainname.com_access.log combined </VirtualHost>
Um diese neu erstellte Website-Konfiguration zu aktivieren, verknüpfen Sie die soeben erstellte Datei symbolisch mit sites-enabled
Verzeichnis.
sudo a2ensite yourdomainname.conf
Überprüfen Sie Ihre Konfiguration und starten Sie Apache neu, damit die Änderungen wirksam werden
sudo systemctl restart apache2
Installieren Sie PhpMyAdmin (optional)
Jetzt können Sie PhpMyAdmin installieren, das Ihnen hilft, eine Datenbank zu erstellen und ihr auf benutzerfreundliche Weise einen Benutzer zuzuweisen.
Laden Sie PhpMyAdmin herunter und konfigurieren Sie es mit den folgenden Befehlen.
sudo wget -P /usr/share https://files.phpmyadmin.net/phpMyAdmin/5.1/phpMyAdmin-5.1-all-languages.zip sudo unzip /usr/share/phpMyAdmin-5.1-all-languages.zip -d /usr/share sudo mv /usr/share/phpMyAdmin-5.1-all-languages /usr/share/phpmyadmin sudo rm -f /usr/share/phpMyAdmin-5.1-all-languages.zip sudo mkdir /usr/share/phpmyadmin/tmp sudo chmod -R 777 /usr/share/phpmyadmin/tmp sudo cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php
Bearbeiten Sie config.inc.php
Datei
sudo nano /usr/share/phpmyadmin/config.inc.php
Fügen Sie Folgendes unter /* Authentication type */
hinzu .
$cfg['Servers'][$i]['auth_type'] = 'cookie'; /* Server parameters */ $cfg['Servers'][$i]['host'] = 'RDS_DATABASE_ENDPOINT'; $cfg['Servers'][$i]['compress'] = false; $cfg['Servers'][$i]['AllowNoPassword'] = false; $cfg['Servers'][$i]['verbose'] = 'Amazon RDS'; $cfg['Servers'][$i]['port'] = '3306'; $cfg['Servers'][$i]['socket'] = ''; $cfg['Servers'][$i]['connect_type'] = 'tcp'; $cfg['Servers'][$i]['extension'] = 'mysqli'; $cfg['Servers'][$i]['TempDir'] = '/usr/share/phpmyadmin/tmp';
Geben Sie das Blowfish-Geheimnis ein.
$cfg['blowfish_secret'] = 'Some_Secret_Password_54_characters';
Drücken Sie CTRL+X
gefolgt von Y
und ENTER
um die Datei zu speichern und zu beenden.
Datenbank erstellen
Jetzt können Sie sich mit PhpMyAdmin bei Ihrer RDS-Instanz anmelden (http://yourdomainname.com/phpmyadmin
) mit dem Master-Benutzernamen und -Passwort, die Sie beim Erstellen der Instanz konfiguriert haben.
Erstellen Sie eine neue Datenbank und einen dieser Datenbank zugeordneten Benutzer.
WordPress herunterladen
Nachdem unsere Serversoftware konfiguriert ist, können wir WordPress herunterladen und einrichten.
Es wird immer empfohlen, die neueste Version von WordPress von ihrer Website herunterzuladen.
cd /var/www/html/yourdomainname/public curl -LO https://wordpress.org/latest.tar.gz
Sobald WordPress heruntergeladen ist, müssen Sie es mit dem folgenden Befehl extrahieren.
sudo tar xzvf latest.tar.gz
Jetzt können Sie den gesamten Inhalt des Verzeichnisses in unseren Dokumentenstamm kopieren.
sudo cp -a /var/www/html/yourdomainname/public/wordpress/. var/www/html/yourdomainname/public
Als nächstes bereinigen Sie Ihr Root-Verzeichnis, indem Sie wordpress
löschen Ordner und das heruntergeladene tar
Datei.
sudo rm -r /var/www/html/yourdomainname/public/wordpress sudo rm -f /var/www/html/yourdomainname/public/latest.tar.gz
Richten Sie die richtigen Berechtigungen für den Stammordner ein. Vergessen Sie nicht, den yourdomainname
zu ersetzen mit Ihrem Domainnamen Sie verwendet haben.
sudo chmod -R 755 /var/www/html/yourdomainname sudo chown -R www-data:www-data /var/www/html/yourdomainname
WordPress installieren
Besuchen Sie nun Ihre Website im Browser und wählen Sie die gewünschte Sprache aus und klicken Sie auf Weiter.
Sie werden aufgefordert, Ihren database
einzugeben , user
, password
, und hostname
.
Geben Sie den Datenbanknamen ein die Sie mit PhpMyAdmin und dem Benutzer erstellt haben mit dem Passwort der Datenbank zugeordnet. Geben Sie abschließend den RDS-Endpunkt als Hostname ein .
Jetzt können Sie die Installation ausführen.
Sobald die Installation abgeschlossen ist, müssen wir die Methode festlegen, die WordPress verwenden soll, um in das Dateisystem zu schreiben. Da wir dem Webserver die Erlaubnis gegeben haben, dort zu schreiben, wo es nötig ist, können wir die Dateisystemmethode explizit auf „direct“ setzen. Wenn Sie dies nicht mit unseren aktuellen Einstellungen festlegen, würde WordPress zur Eingabe von FTP-Anmeldeinformationen führen, wenn wir einige Aktionen wie WordPress-Update, Plugin-Updates, Datei-Upload usw. durchführen. Diese Einstellung kann unterhalb der Datenbankverbindungseinstellungen in der Konfigurationsdatei hinzugefügt werden.
sudo nano /var/www/html/yourdomainname/public/wp-config.php
Suchen Sie die Zeile define('DB_PASSWORD', 'password');
und fügen Sie die folgende Zeile darunter ein.
define('FS_METHOD', 'direct');
Drücken Sie Ctrl+X
und Y
um Ihre Konfigurationsdatei zu speichern.
Werden Sie ein zertifizierter AWS Professional jetzt mit diesem einfach zu lernenden Kurs.
Das ist Teil 1. Jetzt haben Sie eine Instanz in EC2 und RDS erstellt und WordPress installiert.
Im nächsten Teil können Sie AWS S3 konfigurieren, WordPress für die Verwendung von S3 für die Medienbibliothek konfigurieren, AWS-verwaltetes SSL anfordern, Load Balancer und Auto Scaling Group erstellen und Ihre Domain auf Load Balancer verweisen.
Sie können den nächsten Teil dieses vollständigen Tutorials hier sehen.