NGINX vs. Apache: Was ist der beste Webserver für WordPress?
Veröffentlicht: 2023-02-12Um eine WordPress-Website zu betreiben, müssen Sie sie auf einem Webserver hosten. Dadurch können Webbrowser die Daten Ihrer Website anfordern. Es gibt jedoch mehrere Webserver-Optionen, die die Auswahl zu einer entmutigenden Aufgabe machen können.
Obwohl viele Webserver zur Auswahl stehen, sind Apache und NGINX die beliebtesten Optionen. Aber welcher der beiden ist der beste Webserver?
Diese beiden Webserver verarbeiten über 50 % des gesamten Webverkehrs. Während sie viele Eigenschaften teilen, gibt es Unterschiede, die Sie kennen müssen, die Ihnen helfen können, die richtige für Ihre Website auszuwählen. In diesem Artikel werden wir die Unterschiede zwischen NGINX und Apache besprechen. Anschließend sehen wir uns an, wie Sie WordPress auf beiden Servertypen installieren können. Lass uns anfangen!
Leistungsvergleich: NGINX vs. Apache
Wie bereits erwähnt, sind NGINX und Apache die bekanntesten Webserver-Optionen. Sie können unterschiedliche Workloads bewältigen und mit anderer Software zusammenarbeiten, um LAMP- und LEMU-Stacks zu bilden. Um diese Webserver jedoch genau vergleichen zu können, müssen Sie verstehen, wie sie sich unterscheiden.
Apache
Apache ist der ältere der beiden Server und wurde erstmals 1995 von Robert McCool von der Apache Software Foundation veröffentlicht und entwickelt. Seit 1996 ist Apache der führende Webserver und wird von ungefähr 38,7 % der Websites verwendet. Derzeit veröffentlicht die Apache Foundation weiterhin Versionen für Apache.
Das Apache-Modul bietet eine Reihe von Vorteilen, darunter:
- Vorinstallationsoptionen: Apache ist auf den wichtigsten Linux-Distributionen vorinstalliert.
- Benutzergemeinschaft: Apache hat eine große Benutzergemeinschaft, die sich gegenseitig Hilfe anbietet.
- Dynamisches Modulladesystem: Dieses System hindert Sie daran, das Hauptpaket zu berühren, wenn Sie den Server aktualisieren.
- URL-Umschreibungen in .htaccess : Apache 2 verwendet mod_rewrite für saubere Umschreibungen.
- Modulares Design: Apache bietet aufgrund des modularen Designs eine größere Anpassungsfähigkeit und Flexibilität.
- Serverkonfiguration mit der Datei httpd.conf : Die Konfiguration ist einfach, da Sie nicht auf die Hauptdatei apache2.conf zugreifen müssen.
- Als „Gateway“-Server fungieren: Apache kann auch als Reverse-Proxy-Server fungieren.
Der Apache-Server ist ein benutzerfreundlicher Webserver mit vielen Anpassungsfunktionen. Die Software ist auch mit Unix- und Windows-Servern kompatibel.
NGINX
NGINX wurde 2004 von Igor Sysoev, gegründet von NGINX Inc., veröffentlicht, um das C10K-Problem zu lösen. Dies ist die Herausforderung, der Webserver gegenüberstehen, wenn sie 10.000 oder mehr gleichzeitige Verbindungsanfragen verarbeiten.
Um dies zu lösen, wurde NGINX als asynchrone, nicht blockierende und ereignisbasierte Architektur entwickelt. Dies ist einer der Hauptunterschiede zwischen NGINX und Apache. Dies ist auch einer der Gründe, warum ungefähr 32,1 % der Websites NGINX verwenden.
Es gibt viele weitere Vorteile, die NGINX bietet, wie zum Beispiel:
- Leichtes Design : NGINX kann auf minimaler Hardware ausgeführt werden und benötigt weniger Speicher als Apache.
- Handhabung statischer Inhalte : NGINX bietet bei korrekter Konfiguration eine bessere Handhabung statischer Inhalte.
- Reaktionsfähigkeit bei hoher Last : NGINX bleibt auch bei starkem Datenverkehr sehr reaktionsschnell.
- Benutzerfreundliches Design : Die Lernkurve ist einfacher und NGINX ist anfängerfreundlich.
- Modularer Aufbau : Das Design dieses Servers ermöglicht flexible Builds und eine Reihe von Modulen von Drittanbietern.
- Reverse-Proxy: NGINX Plus bietet einen softwarebasierten Reverse-Proxy mit ähnlichen Funktionen wie hardwarebasierte Lösungen zu geringeren Kosten.
NGINX und NGINX Plus werden aufgrund ihrer Lastausgleichsfunktionen zur Bewältigung größerer Lasten oft als bessere Optionen für stark frequentierte Websites angesehen. Es ist auch ideal für die Aufrechterhaltung der Spitzenleistung auf Websites mit vielen statischen Webinhalten.
Was ist der Unterschied zwischen Apache und NGINX?
Während NGINX und Apache HTTP Server ähnlich sind, gibt es viele Unterschiede zwischen den beiden. Der größte Unterschied besteht darin, wie diese Webserver mehrere Client-Anfragen verarbeiten. Apache verwendet eine gegabelte Lösung, während NGINX eine nicht blockierende Ereignisschleife verwendet.
Apache stellt Multi-Processing-Module (MPMs) bereit, die bestimmen, wie die Verarbeitung von Anfragen funktioniert. Der Fork-Ansatz erleichtert das Austauschen der Verbindungshandhabungsarchitektur. Die bei diesem Ansatz verwendeten Module sind Ergänzungen zur Kernfunktionalität von Apache. Jedes Multi-Processing-Modul startet einen anderen Prozess zur Bearbeitung von Serveranforderungen.
Ein Beispiel ist mpm-worker – ein Modul, das Prozesse erstellt, die mehrere Threads verarbeiten. Jeder Thread ist eine einzelne Verbindung zum Server. Das Hinzufügen dieses Moduls ermöglicht die Skalierung des Servers und ermöglicht die Verwaltung großer Datenverkehrsmengen.
NGINX ist anders und erzeugt nur Worker-Prozesse für die gleichzeitige Bearbeitung von Anfragen. Diese Prozesse sind nicht blockierende Ereignisse, die kontinuierlich nach mehreren Anfragen suchen und diese verarbeiten. Diese kontinuierliche Überprüfung erzeugt eine Schleife. Alle Ereignisse in der Schleife sind asynchron und werden aus der Schleife entfernt, wenn die Verbindung geschlossen wird.
Was ist die beste WordPress-Webserver-Software?
Sowohl Apache als auch NGINX funktionieren gut mit WordPress-Hosting. NGINX ist jedoch möglicherweise die bessere Option, wenn Sie eine verbesserte Leistung wünschen. Werfen wir einen Blick darauf, wie man WordPress auf beiden Servertypen installiert, damit Sie mit beiden Servern loslegen können.
So installieren Sie WordPress auf Apache
Um WordPress auf Apache zu installieren, müssen Sie einen LAMP-Stack (Linux, Apache, MySQL und PHP) einrichten. Dies geschieht im Allgemeinen auf einem Ubuntu-Server.
Schritt 1: Erstellen Sie einen Sudo-Benutzer auf Ihrem Server
Um einen Benutzer zu erstellen, melden Sie sich als Root-Benutzer bei Ihrem Server an. Verwenden Sie dann den folgenden Befehl zum Hinzufügen von Benutzern , um ein neues Konto zu erstellen:

$ adduser username
Der Server fordert Sie auf, ein Passwort festzulegen und zu bestätigen. Geben Sie als Nächstes die Details für den Benutzer ein. Dann können Sie diesem Benutzer sudo- Zugriff gewähren. Dieser Zugriff ermöglicht es dem Benutzer, Befehle auszuführen, die normalerweise vom Root-Benutzer ausgeführt werden.
Um den Benutzer zu einer sudo- Gruppe hinzuzufügen, geben Sie den folgenden Befehl ein:
$ usermod -aG sudo username
Dann sollten Sie sich für den Rest des Installationsvorgangs als sudo-Benutzer beim Server anmelden.
Schritt 2: Installieren Sie den Apache-Webserver
Um Apache zu installieren, müssen Sie den Ubuntu-Paketmanager apt verwenden. Dies ist die Standardeinstellung auf Ubuntu-Servern. Die Eingabe des folgenden sudo- Befehls startet die Installation, nachdem Sie Ihr Passwort eingegeben haben:
$ sudo apt update $ sudo apt install apache2
Sie sehen dann die Pakete, die installiert werden, und wie viel Speicherplatz erforderlich ist. Drücken Sie Y und dann die Eingabetaste , um die Installation zu starten.
Schritt 3: Installieren Sie den MySQL-Datenbankserver
Als nächstes müssen Sie das Datenbankverwaltungssystem MySQL installieren. Der folgende Befehl im Paketmanager startet die Installation:
$ sudo apt install mysql-server
Die Pakete und der benötigte Speicherplatz werden erneut angezeigt. Um die Installation zu starten, drücken Sie Y und legen Sie das Root-Passwort fest.
Schritt 4: Installieren Sie PHP
PHP ist der Teil Ihres LAMP-Stacks, der Code zu dynamischen Inhalten verarbeitet. Um es zu installieren, sollten Sie den folgenden Befehl eingeben:
$ sudo apt install php libapache2-mod-php php-mysql
PHP sollte sich dann problemlos installieren lassen. Sie müssen den Server neu starten, um die Stack-Installation abzuschließen. Geben Sie dazu den folgenden Befehl ein:
$ sudo systemctl restart apache2
Ihr LAMP-Stack ist nun installiert und konfiguriert.
Schritt 5: Richten Sie virtuelle Hosts ein
Virtuelle Hosts kapseln Konfigurationsdetails und sind ein empfohlener Schritt. Durch die Kapselung können Sie mehr als eine Website auf einem Server hosten.
Apache-Server verwenden standardmäßig /var/www/html- Verzeichnisse, die für mehrere Websites unhandlich sind. Um einen virtuellen Host zu erstellen, müssen Sie eine Verzeichnisstruktur in /var/www für die Domain der neuen Website einrichten.
Verwenden Sie den folgenden Befehl, um diese Struktur zu erstellen:
sudo mkdir /var/www/new_domain
Ändern Sie new_domain in die Domain Ihrer Website. Erstellen Sie dann mit dem nano -Befehl eine index.html- Datei mit Beispielinhalten:
$ nano /var/www/new_domain/index.html
Um sicherzustellen, dass Apache Ihre Inhalte bereitstellt, müssen Sie auch eine Hostdatei erstellen. Der folgende Befehl erstellt die Konfigurationsdatei:
$ sudo nano /etc/apache2/sites-available/your_domain.conf
Fügen Sie dann den folgenden Konfigurationsblock hinzu:
<VirtualHost *:80> ServerAdmin [email protected] ServerName new_domain ServerAlias www.new_domain DocumentRoot /var/www/new_domain ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Der nächste Befehl aktiviert die Datei, während der zweite die Standard-Site auf dem Server deaktiviert:
$ sudo a2ensite new_domain.conf $ sudo a2dissite 000-default.conf
Ihr virtueller Host sollte jetzt konfiguriert sein und funktionieren. Dieses neu erstellte Verzeichnis sollte für die Installation von WordPress verwendet werden.
Schritt 6: WordPress installieren
Nachdem Sie Ihren LAMP-Stack konfiguriert haben, können Sie WordPress installieren. Laden Sie die neueste Version von WordPress herunter und installieren Sie sie mit dem folgenden Befehl:
$ sudo apt update $ sudo apt install wordpress php libapache2-mod-php mysql-server php-mysql
Konfigurieren Sie als Nächstes Apache für WordPress und erstellen Sie die MySQL-Datenbank. Verwenden Sie dann die WordPress-Webbrowser-Oberfläche, um die Website-Konfiguration abzuschließen. Dazu gehört das Erstellen eines Seitentitels und das Festlegen eines Passworts.
So installieren Sie WordPress auf NGINX
Um WordPress auf NGINX zu installieren, benötigen Sie einen Server, auf dem eine der von NGINX Unit unterstützten Distributionen ausgeführt wird. Wenn Sie Linux verwenden, erstellen Sie einen LEMU-Stack (Linux, NGINX, MySQL und NGINX Unit).
Schritt 1: MySQL installieren
Erstellen Sie vor dem Start einen Serverbenutzer mit sudo- Zugriff. Melden Sie sich als Root-Benutzer bei Ihrem Server an und verwenden Sie den folgenden Befehl, um ein neues Konto zu erstellen:
$ adduser username
Sie müssen ein Passwort eingeben und bestätigen, bevor Sie die Details für den Benutzer eingeben. Dann können Sie diesem Benutzer sudo- Zugriff gewähren. Dieser Zugriff ermöglicht es dem Benutzer, Befehle auszuführen, die normalerweise vom Root-Benutzer ausgeführt werden.
Um den Benutzer zu einer sudo- Gruppe hinzuzufügen, geben Sie den folgenden Befehl ein:
$ usermod -aG sudo username
Melden Sie sich als sudo-Benutzer beim Server an und verwenden Sie den folgenden Befehl, um MySQL zu installieren:
$ sudo apt-get install mysql-server
Geben Sie ein neues Root-Passwort ein. Das MySQL-Konfigurationstool kann dann ausgeführt werden. Dies ist ein Konfigurationsassistent, der Sie durch den Installationsprozess führt.
Schritt 2: Erstellen Sie eine MySQL-Datenbank
Sobald MySQL bereit ist, können Sie eine neue Datenbank erstellen. Sie müssen auch einen neuen Benutzer mit Verwaltungsberechtigung erstellen. Melden Sie sich dazu beim MySQL-Root-Konto an und geben Sie die folgenden Befehle ein:
$ sudo mysql -u root -p mysql> CREATE DATABASE wordpress; mysql> CREATE USER [email protected] IDENTIFIED BY 'secure_password'; mysql> GRANT ALL PRIVILEGES ON wordpress.* TO [email protected]; mysql> FLUSH PRIVILEGES; mysql> Exit Bye
Der Befehl Flush Privileges stellt sicher, dass MySQL die von Ihnen vorgenommenen Änderungen erkennt. Sie sollten den Standardbenutzernamen und das Standardkennwort ändern, damit sie Ihren Vorlieben entsprechen.
Schritt 3: WordPress installieren
Vor der Installation von WordPress sollten Sie mit dem folgenden Befehl einen temporären Dateispeicherort erstellen:
$ cd /var/www/ $ sudo wget http://wordpress.org/latest.tar.gz $ sudo tar xzvf latest.tar.gz
Dieser Befehl lädt auch WordPress herunter und entpackt es.
Schritt 4: WordPress konfigurieren
Erstellen Sie als Nächstes eine Kopie der WordPress-Konfigurationsdatei und benennen Sie sie mit den folgenden Befehlen um:
$ cd /var/www/wordpress $ sudo cp wp-config-sample.php wp-config.php
Sie können die SALT-Schlüssel in der Datei aktualisieren, um die Sicherheit zu verbessern. Die Verwendung von nano öffnet die Datei wp-config.php und ermöglicht es Ihnen, nach den SALT-Schlüsseln zu suchen:
$ sudo nano wp-config.php
Ersetzen Sie die Schlüssel durch neu generierte und speichern und beenden Sie die Datei.
Schritt 5: Installieren Sie PHP
Während Sie NGINX Unit verwenden können, sollten Sie dennoch PHP installieren. Sie können dazu den folgenden Befehl verwenden:
$ sudo apt-get install -y php7.0 php7.0-common php7.0-mbstring php7.0-gd php7.0-intl php7.0-xml php7.0-mysql php7.0-mcrypt
Dies ist notwendig, da WordPress auf mehrere Erweiterungen angewiesen ist, die nicht in NGINX Unit enthalten sind.
Schritt 6: NGINX-Einheit installieren
Schließlich müssen Sie die vorkompilierte NGINX Unit für das Betriebssystem Ihres Servers installieren. Verwenden Sie den folgenden Befehl, um das Modul für PHP zu installieren:
$ sudo apt-get install unit-php $ sudo service unit restart $ sudo curl -X PUT --data-binary @/usr/share/doc/unit-php/examples/unit.config --unix-socket /run/control.unit.sock http://localhost/config $ curl http://localhost:8300/
Diese Befehle überprüfen auch, ob NGINX Unit und PHP ordnungsgemäß funktionieren.
Als nächstes müssen Sie NGINX Open Source installieren und konfigurieren. Sie können ein vorgefertigtes Paket aus dem Mainline-Zweig installieren. Dazu gehören die neuesten Funktionen und Patches. Nach dieser Konfiguration ist WordPress einsatzbereit.
Lernen Sie weiter mit WP Engine
Apache und NGINX sind die beliebtesten Webserver-Softwareoptionen. Aber im Kampf zwischen NGINX und Apache, wer hat die Nase vorn? Obwohl sie in vielerlei Hinsicht ähnlich sind, bietet der NGINX-Server eine bessere Leistung für stark frequentierte Websites. Apache hat jedoch eine größere Community mit mehr Dokumentation.
Natürlich benötigen Sie mehrere Dinge, um eine hervorragende Website zu entwickeln. Dazu gehören die richtigen Tools, die besten Ressourcen und erstklassiges Webhosting!
Weitere SEO- und webbezogene Ressourcen wie die WordPress-Optimierung und das Verständnis von HTTP 400-Fehlern finden Sie in unserem Ressourcenzentrum, um Ihre Website zu verbessern.