GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Was ist LAMP Stack?

Einführung

Lösungsstapel sind Sätze einzelner Komponenten, die eine vollständige Umgebung für die Anwendungsentwicklung bilden. Die Komponenten werden normalerweise unabhängig voneinander entwickelt, aber ihre häufige kombinierte Verwendung und Kompatibilität qualifizieren sie dazu, ein Stack zu werden.

Unterschiedliche Anwendungen erfordern unterschiedliche Stacks. Beispielsweise benötigen Entwickler ein Betriebssystem, einen Webserver, eine Datenbankverwaltungssoftware und eine Programmiersprache, um eine Webanwendung zu erstellen.

In diesem Artikel erfahren Sie, was der LAMP-Stack ist, wie er funktioniert und welche Vor- und Nachteile er hat.

Was ist LAMP Stack?

Der LAMP-Stack ist ein beliebter Open-Source-Lösungsstapel, der hauptsächlich in der Webentwicklung verwendet wird.

LAMP besteht aus vier Komponenten, die zum Aufbau einer voll funktionsfähigen Webentwicklungsumgebung erforderlich sind. Die Anfangsbuchstaben der Komponentennamen bilden das LAMP-Akronym:

  • Linux ist ein Betriebssystem, mit dem die restlichen Komponenten ausgeführt werden.
  • Apache HTTP-Server ist eine Webserver-Software, die zum Bereitstellen statischer Webseiten verwendet wird.
  • MySQL ist ein relationales Datenbankverwaltungssystem, das zum Erstellen und Verwalten von Webdatenbanken, aber auch für Data Warehousing, Anwendungsprotokollierung, E-Commerce usw. verwendet wird.
  • PHP, Perl und Python sind Programmiersprachen, mit denen Webanwendungen erstellt werden.

Jede Komponente repräsentiert eine wesentliche Schicht des Stapels. Zusammen werden die Komponenten verwendet, um datenbankgestützte, dynamische Websites zu erstellen.

Die folgende Abbildung zeigt, wie die Schichten aufeinander gestapelt sind:

LAMP-Stack-Architektur

Linux

Linux ist die Betriebssystemschicht und das Rückgrat des LAMP-Stacks. Die flexible und anpassbare Natur von Linux, kombiniert mit der Tatsache, dass es Open Source ist, machen es zu einer beliebten Betriebssystemlösung für die Ausführung der restlichen LAMP-Komponenten.

Im Vergleich zu SQL, ASP.NET und ASP, die unter Windows effizienter arbeiten, ist PHP und MySQL sind optimiert, um unter Linux die besten Ergebnisse zu erzielen. Durch diese Kompatibilität passen sie gut in den Stack.

Apache

Apache HTTP Server ist eine beliebte Webserver-Software, die auf dem Linux-Betriebssystem im LAMP-Stack ausgeführt wird. Die Rolle des Webservers besteht darin, Anfragen zu verarbeiten und Informationen über das Internet unter Verwendung von HTTP zu übertragen .

Mit seinen Multi-Processing-Modulen , kann Apache als prozessbasierter und Thread-Server konfiguriert werden. Die modulare Architektur des Servers unterstützt Funktionen wie die modulare Protokollverwaltung.

Apache ist auch für seine Filter bekannt , Prozesse, die auf die vom Server verarbeiteten Daten angewendet werden. Sowohl statische als auch dynamische Inhalte können verschlüsselt, auf Viren gescannt und mithilfe von Filtern komprimiert werden.

Eine immer beliebtere Alternative zu Apache ist NGINX, ein Webserver, dessen Popularität seit 2008 kontinuierlich zugenommen hat. Während Apache und NGINX beide leistungsfähige Server sind, werden Benutzer je nach Nutzungsszenario, Inhaltstyp und verfügbaren Hosting-Optionen einen bevorzugen. P>

NGINX wird als bessere Wahl für statische Inhalte angesehen, und es gibt einen kleinen Leistungsunterschied zwischen den beiden, wenn es um dynamische Inhalte geht. Außerdem wird Apache häufig von Shared-Hosting-Benutzern verwendet, während NGINX hauptsächlich für virtuelle private Server, dediziertes Hosting oder Cluster-Container verwendet wird.

MySQL

MySQL ist ein Datenbankverwaltungssystem, das SQL und relationale Tabellen unterstützt, was es zu einer guten Wahl für die Erstellung und Verwaltung dynamischer Datenbanken auf Unternehmensebene macht.

MySQL ist plattformübergreifend kompatibel. Diese Funktion qualifiziert es als Teil des Webentwicklungs-Stacks wie LAMP, da Webanwendungen normalerweise auf mehrere Betriebssysteme abzielen.

Einer der Hauptnachteile von MySQL, insbesondere im Vergleich zu nicht-relationalen Lösungen wie MongoDB, besteht darin, dass es nur vertikal skaliert. Da es auch im Umgang mit großen Datenbanken ineffizient ist, erfordert die Verwendung von MySQL in Projekten, die viel Datenverkehr erwarten, eine sorgfältige Planung.

MariaDB ist ein weiteres relationales Datenbankverwaltungssystem, das Teil der LAMP-Plattform sein kann. Es behauptet, vollständig mit MySQL kompatibel zu sein, sodass Benutzer ihre Datenbank ohne Komplikationen oder Verluste übertragen können.

PHP

PHP (Hypertext Preprocessor) ist eine Programmiersprache, die alle Elemente des LAMP-Stacks kombiniert und Websites und Webanwendungen effizient laufen lässt. Wenn ein Besucher die Webseite öffnet, verarbeitet der Server die PHP-Befehle und sendet die Ergebnisse an den Browser des Besuchers.

PHP ist die vierte Schicht des ursprünglichen Stacks, da es gut mit MySQL interagiert. Es wird häufig für die Webentwicklung verwendet, da es eine dynamisch typisierte Sprache ist und in HTML eingebettet werden kann, wodurch es schnell und einfach zu bearbeiten ist.

Das P im LAMP-Stack kann sich das Akronym auch auf zwei andere Programmiersprachen beziehen – Perl oder Python . Alle drei sind einfache, aber nützliche dynamische Tools zum Erstellen von Umgebungen, in denen Anwendungen erfolgreich entwickelt werden können.

Wofür wird LAMP Stack verwendet?

Der LAMP-Stack wird zum Erstellen und Bereitstellen von webbasierten Anwendungen verwendet. Seine Flexibilität und Effizienz ermöglichen es kleineren Entwicklern, mit kommerziellen Softwareentwicklungslösungen zu konkurrieren.

Die vier Komponenten von LAMP wurden als optimale Lösungen für Entwickler ausgewählt, die webbasierte Inhalte hosten, bereitstellen und verwalten möchten. Sie bieten eine Route für den Zugriff auf Inhalte, Software und andere webbasierte Tools.

Vor- und Nachteile des LAMP-Stacks

Vorteile

  1. LAMP ist Open Source. Der Quellcode der Software wird gemeinsam genutzt und steht Benutzern zur Verfügung, um Änderungen und Verbesserungen vorzunehmen und so die Gesamtleistung zu verbessern.
  2. Es ist leicht anpassbar. Benutzer können jede Komponente durch eine andere Open-Source-Lösung ersetzen, um den Anforderungen der jeweiligen Anwendung gerecht zu werden.
  3. Aufgrund der Größe der LAMP-Community ist es einfach, Unterstützung zu finden.
  4. Es ist ein ausgereifter Stack, der einfach einzurichten ist.

Nachteile

  1. Es werden keine anderen Betriebssysteme als Linux unterstützt.
  2. Die relationale Eigenschaft von MySQL macht den gesamten LAMP-Stack weniger effizient und flexibel als seine Konkurrenten, die nicht-relationale Lösungen verwenden.
  3. Apache kann unter hoher Arbeitslast Leistungsprobleme bekommen.
  4. Der Wechsel zwischen Codierung in Python und PHP auf der Serverseite und der Verwendung von JavaScript auf der Clientseite kann den Entwicklungsworkflow stören.

LAMP-Stack-Alternativen

Open-Source-Alternativen sind:

  • MITTEL (MongoDB, Express, Angular, Node.js)
  • LEMP (Linux, NGINX, MySQL/MariaDB, PHP/Perl/Python)
  • LAPP (Linux, Apache, PostgreSQL, PHP)
  • SPRUNG (Linux, Eukalyptus, AppScale, Python)
  • LLMP (Linux, Lighttpd, MySQL/MariaDB, PHP/Perl/Python)
  • XAMPP (Plattformübergreifend, Apache, MariaDB, PHP, Perl)

Zu den Nicht-Open-Source-Alternativen gehören:

  • WAMP (Windows, Apache, MySQL/MariaDB, PHP/Perl/Python)
  • WIMP (Windows, Internetinformationsdienste, MySQL/MariaDB, PHP/Perl/Python)
  • MAMP (macOS, Apache, MySQL/MariaDB, PHP/Perl/Python)

Ubuntu
  1. Was ist Web 3.0?

  2. Konfigurieren Sie vhosts auf einem LAMP-Stack

  3. Installieren Sie einen LAMP-Stack auf Debian 10

  4. Installieren Sie einen LAMP-Stack auf Fedora 31

  5. Was macht ulimit -s unlimited?

Installieren Sie WordPress mit LAMP Stack auf Ubuntu 20.04

So installieren Sie Linux, Apache, MariaDB, PHP (LAMP Stack) unter Linux Mint 19 / Linux Mint 18

So installieren Sie den LAMP-Stack unter Ubuntu 16.04

So installieren Sie den LAMP-Stack unter Ubuntu 17.10

So installieren Sie LAMP Stack unter Windows 10 WSL

Was ist:Javascript Frameworks – Eine Einführung