Stos LAMP

menu icon

Stos LAMP

Dowiedz się, dlaczego niektóre z najpopularniejszych obecnie aplikacji WWW typu Open Source korzystają z LAMP — sprawdzonego zestawu oprogramowania, w skład którego wchodzą Linux, Apache, MySQL i PHP.

Czym jest stos LAMP?

  • Dowiedz się więcej o sprawdzonych komponentach oprogramowania, które są wykorzystywane przez całą społeczność Open Source
  • Nauka dynamicznych języków programowania nie jest trudna i przynosi szybkie efekty
  • Korzystaj z konfigurowalnych modułów, aby tworzyć i wdrażać aplikacje WWW w indywidualny sposób
  • Wzbogać swoje CV o nową wiedzę i umiejętności

Być może wiesz już coś o stosie LAMP. Nie byłoby w tym nic dziwnego, ponieważ jest on wykorzystywany w niektórych z najpopularniejszych obecnie aplikacji WWW typu Open Source, takich jak WordPress i Drupal.

LAMP zawdzięczamy jednak znacznie więcej. Był to jeden z pierwszych internetowych stosów oprogramowania typu Open Source i nadal zalicza się do najpopularniejszych sposobów tworzenia aplikacji WWW. Jest tak szeroko stosowany, że bez wątpienia spotkasz się z nim w trakcie swojej kariery zawodowej, na przykład podczas aktualizowania lub udostępniania istniejących aplikacji. Wielu programistów uważa ten stos za najlepszą platformę do tworzenia nowych, niestandardowych aplikacji WWW.

Stabilna, prosta, potężna — tymi słowami najczęściej opisywana jest platforma LAMP. Wszystko to sprawia, że każdy programista powinien ją poznać i włączyć umiejętności jej stosowania do swojego CV.

Komponenty

Akronim LAMP oznacza Linux, Apache, MySQL i PHP. Razem stanowią sprawdzony zestaw komponentów oprogramowania, który ułatwia tworzenie wysoce wydajnych aplikacji WWW. Każdy komponent wnosi do zestawu istotne możliwości:

  • Linux: system operacyjny. Linux jest bezpłatnym systemem operacyjnym typu Open Source, który powstał w połowie lat 90-tych. Z tego popularnego w wielu sektorach przemysłu systemu korzysta teraz szerokie grono użytkowników na całym świecie. Popularność systemu Linux wynika po części z tego, że oferuje większą elastyczność i zawiera więcej opcji konfiguracyjnych niż inne systemy operacyjne.
  • Apache: serwer WWW. Serwer WWW Apache przetwarza żądania i udostępnia zasoby WWW za pośrednictwem protokołu HTTP, dzięki czemu aplikacja jest dostępna dla każdego użytkownika w domenie publicznej za pośrednictwem prostego, internetowego adresu URL. Opracowany i utrzymywany przez otwartą społeczność serwer Apache jest sprawdzonym i funkcjonalnym rozwiązaniem, które obsługuje znaczną część obecnie dostępnych serwisów internetowych.
  • MySQL: baza danych. MySQL to system zarządzania relacyjnymi bazami danych typu Open Source służący do przechowywania danych aplikacji. W bazie MySQL można przechowywać wszystkie dane w formacie, który umożliwia szybkie wyszukiwanie informacji przy użyciu języka SQL. SQL to doskonałe rozwiązanie, jeśli mamy do czynienia z dziedziną biznesową o dobrze zdefiniowanej strukturze, którą chcemy przełożyć na ten system zaplecza. MySQL świetnie sprawdza się nawet w dużych i złożonych serwisach. Więcej informacji o bazach danych SQL i NoSQL można znaleźć w temacie „Bazy danych SQL i NoSQL: na czym polega różnica?”.
  • PHP: język programowania. Skryptowy język programowania PHP typu Open Source współpracuje z serwerem Apache, ułatwiając tworzenie dynamicznych stron WWW. Język HTML nie nadaje się do definiowania dynamicznych procesów, takich jak pobieranie informacji z bazy danych. Aby zapewnić tego typu funkcjonalności, wystarczy umieścić kod PHP w tych częściach strony, które mają działać w sposób dynamiczny.

Język PHP został zaprojektowany z myślą o wydajności. Ułatwia on programowanie i czyni je nieco przyjemniejszym, umożliwiając uruchamianie nowego kodu bez konieczności kompilowania go — wystarczy odświeżyć widok. Jeśli chcesz, możesz zastąpić PHP językiem Perl lub coraz popularniejszym językiem Python.

 

Schemat architektury LAMP

Architektura LAMP

LAMP ma klasyczną architekturę warstwową, przy czym system Linux działa na najniższym poziomie. Kolejną warstwę stanowią Apache i MySQL, a następną PHP. Chociaż warstwa PHP nominalnie znajduje się najwyżej lub w warstwie prezentacji, język PHP jest obsługiwany przez serwer Apache.

Jak te elementy współpracują ze sobą

Aby dowiedzieć się, jak komponenty stosu LAMP współdziałają ze sobą, wystarczy spojrzeć na ogólny obraz kolejności ich wykonywania. Proces jest uruchamiany, gdy serwer WWW Apache odbiera żądania ze stron WWW wyświetlonych w przeglądarce użytkownika. Jeśli żądanie dotyczy pliku PHP, serwer Apache przekazuje je do warstwy PHP, która ładuje plik i wykonuje zawarty w nim kod. Warstwa PHP komunikuje się z bazą MySQL i pobiera wszystkie dane, do których istnieją odniesienia w kodzie.

Następnie warstwa PHP używa kodu z pliku i informacji z bazy danych, aby utworzyć kod HTML, który jest potrzebny przeglądarkom do wyświetlenia stron WWW. Stos LAMP wydajnie obsługuje nie tylko statyczne strony WWW, ale także strony dynamiczne, których zawartość może zmieniać się po każdym załadowaniu w zależności od daty, godziny, tożsamości użytkownika lub innych czynników.

Po uruchomieniu kodu z pliku warstwa PHP przekazuje dane wynikowe z powrotem na serwer WWW Apache, który z kolei wysyła je do przeglądarki. Nowe dane mogą być zapisywane w bazie MySQL. Oczywiście wszystkie te operacje są możliwe dzięki systemowi operacyjnemu Linux, który działa u podstawy stosu.

Elastyczność

Chociaż w przypadku stosu LAMP używany jest system operacyjny Linux, można także korzystać z innych komponentów zainstalowanych w alternatywnym systemie operacyjnym, jeśli taka konfiguracja jest potrzebna. Istnieje na przykład stos WAMP, w przypadku którego używany jest system operacyjny Microsoft Windows, a także stos MAMP z systemem MacOS. Z kolei stos WIMP opiera się na produktach firmy Microsoft — systemie Windows i serwerze WWW Internet Information Services.

Ponieważ LAMP zawiera tylko niezastrzeżone komponenty typu Open Source, nie trzeba uzależniać się od jednego dostawcy. Dzięki tej elastyczności można wybierać komponenty, które najlepiej sprawdzą się w realizowanych projektach, lub takie, które spełniają określone wymagania biznesowe.

LAMP zapewnia elastyczność także w innych obszarach. Serwer Apache ma strukturę modułową — dostępne są gotowe, konfigurowalne moduły dla wielu różnych rozszerzeń. Dzięki modułom można na przykład zapewnić obsługę innych języków lub wprowadzić do aplikacji funkcje uwierzytelniania.

Kolejną zaletą LAMP jest bezpieczna architektura i sprawdzone procedury szyfrowania, którym zaufało wiele przedsiębiorstw.

Efektywność

Dzięki LAMP możesz skrócić proces tworzenia aplikacji. Stos LAMP to stos typu Open Source dostępny od ponad dekady, zatem rozwinął się wokół niego bogaty ekosystem. Tworząc własne aplikacje, można korzystać z komponentów, które zostały już opracowane przez inne osoby. Na przykład rozpoczynając tworzenie własnego modułu serwera Apache, 80% pracy mamy już za sobą. Wystarczy dostosować moduł do swoich potrzeb i cieszyć się zaoszczędzonym czasem.

Stos LAMP i IBM

Skomplikowana technologia może przesłaniać proste zasady funkcjonowania oprogramowania. Stos LAMP to niejako powrót do korzeni, ponieważ korzystający z niego programiści mogą poznawać techniczne aspekty udostępniania stron WWW. Można także powiedzieć, że mamy tu do czynienia z procesem tworzenia aplikacji w najczystszej postaci. Baza danych, skryptowy język programowania i metoda udostępniania danych aplikacjom klienckim — oto LAMP w całej okazałości.

Zarejestruj się i utwórz konto IBM Cloud.