Zum Hauptinhalt springen

So installieren und konfigurieren Sie einen LEMP-Stack

Veröffentlicht am:
.
10 Minuten Lesezeit
.
Für die Englische Version

Der LEMP-Stack ist ein beliebtes Open-Source-Softwarepaket, das zum Erstellen und Bereitstellen dynamischer Websites und Webanwendungen verwendet wird. Der LEMP-Stack besteht aus vier Hauptkomponenten: Linux als Betriebssystem, Nginx (ausgesprochen "Engine-X") als Webserver, MySQL oder MariaDB als Datenbankmanagementsystem und PHP als serverseitige Skriptsprache. Im Gegensatz zum traditionellen LAMP-Stack, der Apache als Webserver verwendet, ersetzt LEMP ihn durch Nginx, was eine bessere Leistung und einen geringeren Ressourcenverbrauch, insbesondere bei hohem Verkehrsaufkommen, bietet.

In diesem Leitfaden lernen Sie, wie Sie den LEMP-Stack Schritt für Schritt auf Ubuntu- oder Debian-Servern installieren und konfigurieren. Zunächst werden wir uns darauf konzentrieren, jede Komponente einzeln einzurichten, Nginx zu installieren, PHP-FPM (FastCGI Process Manager) so zu konfigurieren, dass es mit Nginx funktioniert, MySQL/MariaDB einzurichten und zu überprüfen, ob der gesamte Stack ordnungsgemäß funktioniert. Wir werden kurz die Hauptvorteile der Verwendung des LEMP-Stacks besprechen, ihn mit LAMP vergleichen und einige Einschränkungen erwähnen, die bei der Auswahl von LEMP für Ihre Projekte wichtig zu berücksichtigen sind.

Am Ende dieses Leitfadens werden Sie eine voll funktionsfähige LEMP-Serverumgebung haben, die bereit ist, Ihre Webanwendungen zu hosten.

Starten Sie noch heute kostenlos mit Zenarmor

1. Aktualisieren Sie die Server-Pakete

Bevor Sie neue Software installieren, ist es wichtig, die Paketlisten Ihres Servers zu aktualisieren und die vorhandenen Pakete zu aktualisieren. Dies stellt sicher, dass Sie mit den neuesten Versionen und Sicherheitspatches arbeiten.

Führen Sie den folgenden Befehl aus, um die Paketdatenbank zu aktualisieren und verfügbare Updates für alle installierten Pakete auf Ihrem Linux-Server zu installieren.

sudo apt update
sudo apt upgrade -y

2. Installieren Sie den Nginx-Webserver

Der nächste Schritt ist die Installation von Nginx, das Ihre Webinhalte an die Benutzer ausliefert, indem Sie den folgenden Befehl ausführen.

sudo apt install nginx -y

Nach der Installation können Sie die Nginx-Version mit dem folgenden Befehl überprüfen.

nginx -v

3. Nginx-Dienst starten und aktivieren

Sobald Nginx installiert ist, starten Sie den Dienst und aktivieren Sie ihn, damit er beim Booten automatisch startet.

sudo systemctl start nginx
sudo systemctl enable nginx

Sie können den Status des Dienstes mit dem folgenden Befehl überprüfen. Wenn alles korrekt ist, sollte angezeigt werden, dass Nginx aktiv (laufend) ist.

sudo systemctl status nginx

4. Installieren Sie MySQL Server

Der nächste Schritt ist die Installation des MySQL-Servers, der die Datenbankoperationen für Ihre Anwendungen übernehmen wird. Installieren Sie MySQL mit dem folgenden Befehl.

sudo apt install mysql-server -y

Nach der Installation können Sie den Status des MySQL-Dienstes mit dem folgenden Befehl überprüfen. Wenn alles korrekt ist, sollte der Dienst aktiv (laufend) sein.

sudo systemctl status mysql

5. Sichere MySQL-Installation

Nach der Installation von MySQL wird dringend empfohlen, ein Sicherheits-Skript auszuführen, das mit MySQL geliefert wird. Dieses Skript hilft Ihnen, wichtige Sicherheitsoptionen zu konfigurieren, wie das Setzen des Root-Passworts und das Entfernen anonymer Benutzer. Starten Sie das MySQL-Sicherheits-Skript mit dem folgenden Befehl.

sudo mysql_secure_installation

Sie werden mit mehreren Fragen konfrontiert. Empfohlene Antworten sind unten zu sehen.

  • Richten Sie das VALIDATE PASSWORD-Plugin ein: (Optional können Sie es überspringen, indem Sie 'Nein' wählen)
  • Root-Passwort festlegen: Ja
  • Anonyme Benutzer entfernen: Ja
  • Remote-Root-Login verbieten: Ja
  • Testdatenbank und Zugriff darauf entfernen: Ja
  • Privilegientabellen jetzt neu laden: Ja

Dieser Prozess wird die Sicherheit Ihres MySQL-Servers stärken.

6. Installieren Sie PHP und PHP-FPM mit MySQL-Erweiterung

Der nächste Schritt ist die Installation von PHP, PHP-FPM (FastCGI Process Manager) und der PHP-MySQL-Erweiterung. PHP wird dynamische Inhalte verarbeiten, und PHP-FPM ermöglicht es Nginx, PHP-Skripte effizient zu verarbeiten. Führen Sie den folgenden Befehl aus, um PHP, PHP-FPM (FastCGI Process Manager) und die PHP-MySQL-Erweiterung zu installieren.

sudo apt install php-fpm php-mysql -y
  • php-fpm ist notwendig, damit Nginx über FastCGI mit PHP kommunizieren kann.
  • php-mysql ermöglicht es PHP-Skripten, mit der MySQL-Datenbank zu interagieren.

Nach der Installation können Sie die installierte PHP-Version überprüfen. Dieser Befehl gibt die derzeit auf Ihrem Server installierte PHP-Version aus.

php -v

7. PHP-Einstellungen konfigurieren

Nach der Installation von PHP-FPM ist es eine gute Idee, einige PHP-Einstellungen anzupassen, um die Leistung und Sicherheit Ihres Servers zu optimieren. Sie können PHP konfigurieren, indem Sie diese Schritte befolgen.

  1. Öffnen Sie die Haupt-PHP-Konfigurationsdatei zur Bearbeitung mit dem folgenden Befehl.

    sudo nano /etc/php/*/fpm/php.ini
    tipp

    Das * steht für Ihre PHP-Version (z.B. 8.1, 8.2). Verwenden Sie den Ordner der installierten Version.

  2. Finden Sie die Zeile, die cgi.fix_pathinfo enthält.

    ;cgi.fix_pathinfo=1
  3. Entfernen Sie das Semikolon ; und ändern Sie den Wert auf 0. Dies verhindert potenzielle Sicherheitsrisiken, bei denen PHP unbeabsichtigte Dateien ausführen könnte.

    cgi.fix_pathinfo=0
  4. Nach der Änderung speichern und beenden. Drücken Sie CTRL + O → Enter → CTRL + X, um die Datei zu speichern und zu schließen.

8. PHP-FPM-Dienst neu starten

Nach der Änderung der PHP-Konfigurationsdateien ist es notwendig, den PHP-FPM-Dienst neu zu starten, um die Änderungen anzuwenden. Führen Sie den folgenden Befehl aus, um den PHP-FPM-Dienst neu zu starten.

sudo systemctl restart php*-fpm
tipp

Ersetzen Sie * durch Ihre tatsächliche PHP-Version, falls erforderlich (z.B. php8.1-fpm). Wenn Sie sich unsicher sind, können Sie den Namen Ihres PHP-FPM-Dienstes mit dem folgenden Befehl überprüfen.

systemctl list-units --type=service | grep php

Sie können überprüfen, ob der PHP-FPM-Dienst aktiv und laufend ist, indem Sie den folgenden Befehl verwenden.

sudo systemctl status php*-fpm

9. Konfigurieren Sie Nginx, um PHP-Dateien zu verarbeiten

Standardmäßig verarbeitet Nginx keine .php-Dateien. Wir müssen Nginx so konfigurieren, dass PHP-Anfragen an den PHP-FPM-Dienst weitergeleitet werden.

  1. Öffnen Sie die Standard-Serverblockdatei mit dem folgenden Befehl.

    sudo nano /etc/nginx/sites-available/default
  2. Lokalisieren Sie den Abschnitt, der wie unten gezeigt beginnt.

    location / {
    try_files $uri $uri/ =404;
    }
  3. Unter diesem Block finden (oder kommentieren Sie aus) und aktualisieren Sie den PHP-Standortblock wie folgt.

    location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php*-fpm.sock;
    }
    tipp

    Ersetzen Sie * durch Ihre PHP-Version, zum Beispiel php8.1-fpm.sock.

  4. Stellen Sie sicher, dass die ‘index’-Direktive index.php wie folgt enthält.

    index index.php index.html index.htm;
  5. Nachdem Sie diese Änderungen vorgenommen haben, speichern und beenden Sie. Drücken Sie CTRL + O → Enter → CTRL + X, um zu speichern und zu schließen.

10. Testen Sie die Nginx-Konfiguration und laden Sie den Dienst neu

Nach dem Bearbeiten der Nginx-Konfigurationsdatei ist es wichtig, die Konfiguration zu testen, um sicherzustellen, dass keine Syntaxfehler vorliegen, bevor der Dienst neu geladen wird.

  1. Testen Sie die Nginx-Konfiguration, indem Sie den untenstehenden Befehl ausführen.

    sudo nginx -t
  2. Wenn alles korrekt ist, sollten Sie eine Nachricht sehen, die der unten gezeigten ähnlich ist.

    nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    nginx: configuration file /etc/nginx/nginx.conf test is successful
  3. Wenn der Test erfolgreich ist, laden Sie Nginx mit dem folgenden Befehl neu, um die Änderungen anzuwenden.

    sudo systemctl reload nginx

11. Erstellen Sie eine PHP-Testdatei zur Überprüfung der PHP-Verarbeitung

Um zu überprüfen, ob Nginx PHP-Dateien mit PHP-FPM korrekt verarbeitet, können wir eine einfache Test-PHP-Datei erstellen.

  1. Erstellen Sie eine Datei info.php im Web-Stammverzeichnis mit dem folgenden Befehl.

    sudo nano /var/www/html/info.php
  2. Fügen Sie den folgenden Inhalt mit dem folgenden Befehl zur Datei hinzu.

    <?php
    phpinfo();
    ?>
  3. Speichern und beenden. Drücken Sie CTRL + O → Enter → CTRL + X.

  4. Öffnen Sie Ihren Webbrowser und besuchen Sie. http://your_server_ip/info.php Wenn alles korrekt konfiguriert ist, sollten Sie die PHP-Informationsseite sehen, die detaillierte Informationen über Ihre PHP-Installation anzeigt.

    Abbildung 1. Info.php-Seite

    tipp

    Nach dem Testen wird empfohlen, die Datei info.php aus Sicherheitsgründen zu löschen. Verwenden Sie den folgenden Befehl, um die Datei zu löschen.

    sudo rm /var/www/html/info.php

12. Einrichtung von Nginx-virtuellen Hosts für mehrere Sites (Optional)

Wenn Sie planen, mehrere Websites auf demselben Server zu hosten, können Sie separate virtuelle Hosts (auch als Server-Blöcke bekannt) in Nginx erstellen. Jeder virtuelle Host wird eine andere Domain oder Subdomain verwalten.

Die folgenden Schritte beschreiben, wie man einen einfachen virtuellen Host erstellt.

  1. Erstellen Sie ein neues Verzeichnis für Ihre Website mit dem folgenden Befehl.

    sudo mkdir -p /var/www/your_domain
  2. Setzen Sie die richtigen Berechtigungen wie unten gezeigt.

    sudo chown -R $USER:$USER /var/www/your_domain
  3. Erstellen Sie eine neue Serverblock-Konfigurationsdatei mit dem folgenden Befehl.

    sudo nano /etc/nginx/sites-available/your_domain
  4. Fügen Sie die folgende grundlegende Konfiguration in die Datei ein. Und ersetzen Sie your_domain durch Ihren tatsächlichen Domainnamen und * in php*-fpm.sock durch Ihre PHP-Version.

    server {
    listen 80;
    server_name your_domain www.your_domain;
    root /var/www/your_domain;
    index index.php index.html index.htm;
    location / {
    try_files $uri $uri/ =404;
    }
    location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php*-fpm.sock;
    }
    location ~ /\.ht {
    deny all;
    }
    }
  5. Um den virtuellen Host zu aktivieren, erstellen Sie einen symbolischen Link, indem Sie den folgenden Befehl ausführen.

    sudo ln -s /etc/nginx/sites-available/your_domain /etc/nginx/sites-enabled/
  6. Testen Sie die Konfiguration mit dem folgenden Befehl.

    sudo nginx -t
  7. Laden Sie Nginx mit dem folgenden Befehl neu.

    sudo systemctl reload nginx

Was ist der LEMP-Stack?

LEMP ist ein weit verbreitetes Stack von Open-Source-Tools, das verwendet wird, um dynamische Inhalte im Web bereitzustellen. Es vereint Linux als Betriebssystem, Nginx für das Web-Hosting, MySQL/MariaDB für die Datenbankverwaltung und PHP (oder Alternativen) für die Backend-Logik, wobei jede Komponente eine entscheidende Rolle beim Aufbau einer modernen Webserver-Umgebung spielt.

  • Linux ist das Betriebssystem, das die Grundlage des Stacks bildet. Es verwaltet die Hardware-Ressourcen und bietet eine sichere und stabile Umgebung für das Ausführen von Serveranwendungen.
  • Nginx (ausgesprochen "Engine-X") ist ein Hochleistungs-Webserver, der für seine Geschwindigkeit, Skalierbarkeit und effiziente Handhabung gleichzeitiger Verbindungen bekannt ist. Im LEMP-Stack ist Nginx dafür verantwortlich, statische Inhalte bereitzustellen und als Reverse-Proxy für dynamische Inhalte zu fungieren.
  • MySQL/MariaDB sind relationale Datenbankmanagementsysteme (RDBMS), die zum Speichern, Abrufen und Verwalten strukturierter Daten verwendet werden. Sie bieten den Backend-Datenspeicher, der für dynamische Anwendungen benötigt wird.
  • PHP/Python/Perl sind serverseitige Skriptsprachen, die dynamische Inhalte generieren. PHP ist die häufigste Wahl in traditionellen LEMP-Setups, aber Python und Perl werden je nach Anwendungsanforderungen ebenfalls unterstützt.

Zusammen arbeiten diese Komponenten harmonisch, um robuste, skalierbare und effiziente Webdienste bereitzustellen.

Im Gegensatz zum LAMP-Stack, bei dem Apache als Webserver dient, verwendet der LEMP-Stack stattdessen Nginx. Nginx ist darauf ausgelegt, leichtgewichtig und asynchron zu sein, und kann Tausende von gleichzeitigen Verbindungen mit minimalem Ressourcenverbrauch verarbeiten. Dies macht LEMP zur bevorzugten Wahl für stark frequentierte Websites und Anwendungen, bei denen Leistung und Skalierbarkeit entscheidend sind.

Der LEMP-Stack ist vollständig Open Source und somit für Einzelpersonen und Organisationen kostenlos verfügbar. Seine Flexibilität, Kosteneffizienz und breite Community-Unterstützung machen es zu einer der beliebtesten Lösungen für die moderne Webentwicklung.

Warum LEMP verwenden?

Der LEMP-Stack wird aufgrund seiner Leistung, Flexibilität und starken Community-Unterstützung häufig für den Aufbau dynamischer und skalierbarer Webanwendungen bevorzugt. LEMP bietet eine effiziente Lösung für moderne Entwickler, die schnelle, zuverlässige und leicht wartbare Webdienste bereitstellen möchten.

Nginx, als der zentrale Webserver-Komponente in LEMP, bietet erhebliche Leistungs Vorteile gegenüber traditionellen Servern. Es ist darauf ausgelegt, Tausende gleichzeitiger Verbindungen mit einer asynchronen, ereignisgesteuerten Architektur zu verarbeiten, was es ideal für Umgebungen mit hoher Parallelität macht. Darüber hinaus ist Nginx äußerst effizient beim Bereitstellen statischer Dateien wie Bilder, CSS und JavaScript, was einen minimalen Serverressourcenverbrauch und schnellere Ladezeiten der Seiten gewährleistet.

Über die Leistung hinaus bietet der LEMP-Stack bemerkenswerte Skalierbarkeit und Flexibilität.
Anwendungen, die auf LEMP basieren, können sich problemlos von kleinen Projekten zu groß angelegten Unternehmenslösungen ausdehnen.
Die leichte Natur von Nginx, kombiniert mit der Zuverlässigkeit von Linux und der Anpassungsfähigkeit von PHP/MySQL, ermöglicht es Entwicklern, Architekturen zu entwerfen, die sowohl den aktuellen Anforderungen als auch dem zukünftigen Wachstum ohne größere Neukonfigurationen gerecht werden können.

Ein weiterer wichtiger Grund, sich für LEMP zu entscheiden, ist die starke Unterstützung durch die Community. Alle Komponenten des Stacks, Linux, Nginx, MySQL/MariaDB und PHP/Python/Perl, sind ausgereift, gut dokumentiert und werden von großen globalen Gemeinschaften unterstützt. Zu den häufigsten Anwendungsfällen gehören das Hosting dynamischer Websites, E-Commerce-Plattformen, API-Backends und cloud-native Anwendungen, bei denen Leistung und Zuverlässigkeit entscheidend sind.

Wie unterscheidet sich LEMP vom LAMP-Stack?

Der LEMP-Stack und der LAMP-Stack sind zwei der beliebtesten Open-Source-Lösungen zum Hosten dynamischer Websites und Anwendungen. Der Hauptunterschied zwischen LEMP und LAMP liegt in ihrem Webserver-Komponenten: LEMP verwendet Nginx wegen seiner Leistungsvorteile, während LAMP auf die Vielseitigkeit und Konfigurierbarkeit von Apache setzt. Diese Unterscheidung führt zu unterschiedlichen Leistungsprofilen, Skalierbarkeitsfähigkeiten und idealen Anwendungsfällen.

Im Gegensatz zu traditionellen Webservern verwendet Nginx ein ereignisgesteuertes Modell, das mehrere gleichzeitige Verbindungen effizient verwaltet und es somit ideal für leistungsstarke Umgebungen macht. Dies macht LEMP zu einer besseren Wahl für hochmoderne Umgebungen, cloud-native Anwendungen und statisch belastete Websites, bei denen schnelle Reaktionszeiten und eine geringere Serverlast unerlässlich sind.

Andererseits folgt Apache, das in LAMP verwendet wird, einem prozess-/threadbasierten Modell. LAMP ist äußerst flexibel und leistungsstark, insbesondere bei der Handhabung komplexer .htaccess-Konfigurationen und modulanpassungen. Unter hoher Last verbraucht Apache jedoch typischerweise mehr Speicher und CPU im Vergleich zu Nginx, was die Serverleistung beeinträchtigen kann.

Trotz ihrer Unterschiede teilen sowohl LEMP als auch LAMP wichtige Ähnlichkeiten. Sie sind vollständig Open Source, werden von Gemeinschaften umfassend unterstützt und sind für die Bereitstellung dynamischer Webanwendungen konzipiert.
Beide Stacks kombinieren ein Linux-Betriebssystem, eine relationale Datenbank (MySQL/MariaDB) und serverseitige Skripterstellung (PHP/Python/Perl), und bieten zuverlässige und bewährte Architekturen für Entwickler weltweit.

Die Wahl zwischen LEMP und LAMP hängt weitgehend von den spezifischen Anforderungen des Projekts ab.

  • Für hohe Parallelität und Leistung wird oft LEMP bevorzugt.
  • Für Kompatibilität mit Altsystemen oder komplexen serverseitigen Konfigurationen könnte LAMP immer noch die bessere Wahl sein.

Was sind die Einschränkungen des LEMP-Stacks?

Obwohl der LEMP-Stack äußerst effizient und weit verbreitet für moderne Webanwendungen ist, ist er nicht ohne Einschränkungen. Entwickler und Systemadministratoren sollten sich bestimmter Herausforderungen in Bezug auf Kompatibilität, Lernkurve, Modulsupport und Fehlersuche bewusst sein. Die Hauptbeschränkungen des LEMP-Stacks sind wie folgt.

  • Komplexität und Lernkurve: Eine bemerkenswerte Einschränkung ist die Konfigurationskomplexität von Nginx im Vergleich zu traditionelleren Servern wie Apache. Obwohl Nginx hochleistungsfähig ist, kann sein ereignisgesteuertes Design und die Konfigurationssyntax eine steilere Lernkurve für diejenigen darstellen, die mit seiner Architektur nicht vertraut sind, insbesondere bei der Einrichtung fortgeschrittener Funktionen wie URL-Umschreibungen, Zugriffskontrolle oder Lastverteilung.
  • Modulunterstützung: Die Modulunterstützung in Nginx ist nicht so dynamisch wie in Apache. Im Gegensatz zu Apache, wo Module zur Laufzeit aktiviert oder deaktiviert werden können, erfordert Nginx, dass Module zur Build-Zeit in den Server kompiliert werden. Dies schränkt die Flexibilität ein, wenn man versucht, Funktionen hinzuzufügen oder zu entfernen, ohne Nginx neu zu kompilieren, was in bestimmten Umgebungen möglicherweise nicht praktikabel ist.
  • Kompatibilität: Eine weitere Einschränkung ist die Kompatibilität mit Legacy-Anwendungen oder -Systemen, die eine auf Apache basierende Umgebung erwarten, insbesondere wenn .htaccess-Dateien stark verwendet werden. Die Migration von einer Apache/LAMP-Umgebung zu LEMP kann das Neuschreiben von Serveranweisungen und das Anpassen von Konfigurationsstilen erfordern.
  • Fehlerbehebungsschwierigkeiten: Die Fehlerbehebung in LEMP-Umgebungen kann für Anfänger herausfordernder sein. Aufgrund der verteilten Natur seiner Architektur, die Linux-Berechtigungen, Nginx, PHP-FPM und MySQL umfasst, erfordert die Diagnose von Problemen oft eine Analyse über Komponenten hinweg, die ohne ausreichende Erfahrung komplex sein kann.

Trotz dieser Herausforderungen akzeptieren viele Entwickler diese Kompromisse im Austausch für die überlegene Leistung und Skalierbarkeit von LEMP.

Was sind die Anwendungen des LEMP-Stacks?

Der LEMP-Stack ist äußerst vielseitig und treibt eine Vielzahl von Webanwendungen an, von kleinen persönlichen Projekten bis hin zu groß angelegten Unternehmenssystemen. Seine Leistung, Flexibilität und Open-Source-Natur machen es zu einer idealen Lösung für verschiedene Arten von Bereitstellungen in verschiedenen Branchen.

Hier sind gängige Anwendungen und Anwendungsfälle des LEMP-Stacks.

  • Content-Management-Systeme (CMS): Plattformen wie WordPress, Drupal und Joomla laufen effizient auf LEMP, insbesondere wenn sie mit Nginx optimiert sind. Diese Plattformen profitieren von der Geschwindigkeit von Nginx und den dynamischen Fähigkeiten von PHP/MySQL, was sie reaktionsschnell und skalierbar macht.
  • E-Commerce-Lösungen: Anwendungen wie Magento, PrestaShop und OpenCart nutzen die Leistung und Zuverlässigkeit von LEMP, um reibungslose Einkaufserlebnisse und effiziente Backend-Operationen zu bieten.
  • Hochfrequentierte Websites: Nachrichtenportale, Streaming-Dienste und soziale Plattformen nutzen oft LEMP wegen seiner Fähigkeit, Tausende von gleichzeitigen Nutzern mit minimalem Ressourcenverbrauch und hervorragender Betriebszeit zu bewältigen.
  • Startups und MVPs: LEMP ist ideal für persönliche Blogs, Portfolios und MVPs (Minimum Viable Products) dank seiner geringen Systemanforderungen und schnellen Einrichtung. Seine leichtgewichtige Architektur ermöglicht es Projekten, nahtlos zu skalieren, während der Verkehr und die Komplexität der Funktionen zunehmen.
  • Unternehmensanwendungen: Groß angelegte Systeme wie APIs, Microservices und interne Geschäftsdashboards werden häufig in Cloud-Umgebungen auf LEMP bereitgestellt. Die Flexibilität von Linux, die Effizienz von Nginx und die Zuverlässigkeit von PHP/Python und MySQL/MariaDB machen LEMP zu einer soliden Grundlage für Lösungen auf Unternehmensebene.

Kannst du LEMP auf Ubuntu installieren?

Ja, Sie können den LEMP-Stack auf Ubuntu einfach und effizient installieren. Ubuntu ist eine der beliebtesten Linux-Distributionen für Server-Deployments und unterstützt alle Komponenten des LEMP-Stacks vollständig, einschließlich Nginx, MySQL/MariaDB und PHP.

Die offiziellen Paket-Repositories von Ubuntu bieten stabile und aktualisierte Versionen der LEMP-Komponenten und verwandten Module, was die Installation unkompliziert macht. Sowohl auf Ubuntu als auch auf Debian ermöglicht der apt-Paketmanager eine schnelle und abhängigkeitsgelöste Einrichtung, wodurch in den meisten Fällen das Kompilieren aus dem Quellcode entfällt.

Kurze Installationsübersicht

Sie können den LEMP-Stack auf Ubuntu mit nur wenigen einfachen Befehlen installieren. Im Folgenden finden Sie eine Übersicht der Schritte zur Installation, die häufig verwendet werden, um eine LEMP-Umgebung einzurichten.

  1. Aktualisieren Sie die Paketliste des Servers mit sudo apt update
  2. Installiere Nginx mit sudo apt install nginx
  3. Installieren Sie den MySQL-Server mit sudo apt install mysql-server
  4. Installieren Sie PHP, PHP-FPM und die PHP-MySQL-Erweiterung mit sudo apt install php-fpm php-mysql
  5. Konfigurieren Sie Nginx, um mit PHP-FPM zu arbeiten
  6. Sichern Sie MySQL und testen Sie die PHP-Verarbeitung

Dieser Ansatz gewährleistet eine schnelle Einrichtung eines produktionsbereiten LEMP-Stacks auf Ubuntu.

Ubuntu-spezifische Überlegungen

Obwohl die LEMP-Installationsschritte in der Regel auf Debian-basierten Systemen gleich sind, gibt es einige Ubuntu-spezifische Details, die erwähnenswert sind. Diese Überlegungen beziehen sich auf Paketverfügbarkeit, Dienstverwaltung und Standardwerkzeuge, die sich in Ubuntu im Vergleich zu anderen Distributionen leicht anders verhalten können.

  • Paket-Repositories: Die offiziellen Repositories von Ubuntu enthalten normalerweise stabile, aber etwas ältere Versionen von Paketen. Für neuere Versionen von Nginx oder PHP sollten Sie in Betracht ziehen, Drittanbieter-Repositories wie das offizielle Nginx PPA zu verwenden.

  • Service Management: Ubuntu verwendet ‚systemd‘ zur Verwaltung von Diensten.
    Sie können die folgenden Befehle verwenden, um Dienste beim Booten zu starten und zu aktivieren.

    sudo systemctl start nginx
    sudo systemctl enable mysql
  • Firewall (UFW): Ubuntu wird oft mit UFW (Uncomplicated Firewall) vorinstalliert oder leicht verfügbar geliefert. Es ist üblich, UFW zu verwenden, um HTTP (Port 80) und HTTPS (Port 443) Verkehr beim Einrichten von Nginx zuzulassen. Sie können die folgenden Befehle verwenden, um Nginx einzurichten.

    sudo ufw allow 'Nginx Full'
    sudo ufw enable

Kannst du LEMP auf Debian installieren?

Ja, Sie können den LEMP-Stack zuverlässig und effizient auf Debian installieren. Debian ist eine robuste und stabile Linux-Distribution, die alle LEMP-Komponenten, einschließlich Nginx, MySQL/MariaDB und PHP, vollständig unterstützt. ** Als die upstream-Quelle für viele andere Distributionen (wie Ubuntu) bietet Debian eine saubere und vorhersehbare Umgebung für die Bereitstellung von Webanwendungen. Debians offizielle Repositories bieten stabile Pakete, die für Produktionsumgebungen geeignet sind.

Kurze Installationsübersicht

Sie können den LEMP-Stack auf Debian mit dem Paketmanager 'apt' installieren. Im Folgenden finden Sie einen allgemeinen Überblick über den Installationsprozess.

  1. Aktualisieren Sie die Systempakete mit sudo apt update && sudo apt upgrade.
  2. Installieren Sie Nginx mit sudo apt install nginx.
  3. Installieren Sie den MySQL-Server mit sudo apt install mysql-server oder optional MariaDB, wenn gewünscht.
  4. Installieren Sie PHP, PHP-FPM und PHP-MySQL über sudo apt install php-fpm php-mysql.
  5. Konfigurieren Sie manuell die Nginx-Serverblöcke und PHP-Einstellungen nach Bedarf.
  6. Konfigurieren Sie Nginx, um PHP-Dateien zu verarbeiten.
  7. Sichern Sie den Datenbankserver und testen Sie die PHP-Funktionalität

Dieser Prozess richtet eine stabile LEMP-Umgebung auf einem Debian-basierten System ein, die bereit ist, dynamische Anwendungen zu hosten.

Debian-spezifische Überlegungen

Während die LEMP-Installation auf Debian der auf Ubuntu ähnlich ist, gibt es einige wichtige Unterschiede, die es wert sind, beachtet zu werden. Diese beziehen sich hauptsächlich auf Paketversionen, die Verfügbarkeit von Standardwerkzeugen und Systemverhalten. **

  • Paketversionen: Debian Stable enthält typischerweise ältere, aber äußerst gut getestete Versionen von Software. Wenn Sie neuere Versionen von PHP oder Nginx benötigen, müssen Sie möglicherweise externe Repositories hinzufügen oder aus dem Quellcode kompilieren.
  • MariaDB vs. MySQL: In vielen Debian-Versionen ist MariaDB der Standard-Datenbankserver anstelle von Oracles MySQL. Beide sind mit LEMP kompatibel und in den meisten Setups austauschbar.
  • Minimales Basissystem: Die Standardinstallation von Debian ist minimaler als die von Ubuntu. Häufig verwendete Werkzeuge wie ufw, sudo oder Texteditoren (nano, vim) müssen möglicherweise manuell installiert werden.
  • Service-Management: Wie Ubuntu verwendet auch Debian systemd zur Verwaltung von Diensten.

LEMP läuft außergewöhnlich gut auf Debian und bietet Stabilität sowie volle Kontrolle über die Softwareumgebung. Obwohl die Einrichtung im Vergleich zu Ubuntu etwas mehr manuelle Schritte erfordern kann, ist es ideal für Entwickler, die saubere, minimalistische und vorhersehbare Systeme bevorzugen.

Insgesamt, wenn Sie mit der Installation von LEMP auf Ubuntu vertraut sind, werden Sie den Debian-Prozess als äußerst ähnlich empfinden. Die Hauptunterschiede ergeben sich aus Debians minimalistischer Designphilosophie und seinem Fokus auf Stabilität, was während der Einrichtung einige zusätzliche manuelle Schritte erfordern kann.

Fazit

Der LEMP-Stack, bestehend aus Linux, Nginx, MySQL/MariaDB und PHP, bietet eine leistungsstarke, leichte und flexible Umgebung für das Hosting moderner Webanwendungen. Die Architektur von Nginx ist gut geeignet, um hohe Volumina an gleichzeitigen Anfragen und statischen Assets zu bewältigen, was LEMP in leistungsintensiven Szenarien einen deutlichen Vorteil verschafft.

Egal, ob Sie auf Ubuntu oder Debian bereitstellen, der Installationsprozess ist unkompliziert und wird von ihren jeweiligen Ökosystemen gut unterstützt. Während Ubuntu eine etwas benutzerfreundlichere Erfahrung mit einer breiteren Palette vorinstallierter Werkzeuge bietet, zeichnet sich Debian durch seine Stabilität und Minimalismus aus, ideal für diejenigen, die eine engere Kontrolle über ihre Umgebungen bevorzugen.

Durch das Verständnis der einzelnen Komponenten, ihrer Einrichtung und der Nuancen zwischen den Distributionen können Entwickler mit Zuversicht sichere und skalierbare Webinfrastrukturen mit dem LEMP-Stack aufbauen.

Starten Sie noch heute kostenlos mit Zenarmor