menu icon

Стек LAMP

Узнайте, почему самые популярные современные веб-приложения с открытым исходным кодом работают на LAMP — проверенном временем наборе ПО Linux, Apache, MySQL и PHP.

Что такое стек LAMP?

  • Узнайте о проверенном временем стеке ПО, который широко используется в сообществе разработчиков с открытым исходным кодом
  • Программируйте на динамическом языке, чтобы быстро войти в тему и увидеть результаты
  • Самостоятельно создавайте и развертывайте веб-приложения с помощью настраиваемых модулей
  • Добавьте в свое резюме ценные новые знания и навыки

Возможно, вы уже что-то слышали о стеке LAMP. Это неудивительно: ведь на нем основаны самые популярные современные веб-приложения с открытым исходным кодом, например WordPress и Drupal.

Но «послужной список» LAMP гораздо длиннее. Это один из первых стеков ПО с открытым исходным кодом для разработки веб-приложений, который по сей день остается самым популярным способом их доставки. Он настолько распространен, что вы, скорее всего, постоянно сталкиваетесь с ним в своей работе при обновлении или получении приложений. Многие считают этот стек идеальным вариантом для разработки новых пользовательских приложений.

Чаще всего LAMP описывают словами «стабильный, простой и мощный». Следовательно, этот набор не только достоин изучения, но и украсит собой резюме любого разработчика.

Компоненты

LAMP — это акроним от названий Linux, Apache, MySQL и PHP. Эти технологии вместе составляют надежный набор ПО для разработки высокопроизводительных веб-приложений. Каждый компонент играет в стеке свою важную роль:

  • Linux: операционная система. Linux — бесплатная операционная система с открытым исходным кодом, созданная в середине 1990-х годов. Сегодня эта ОС распространена по всему миру и широко используется во всех отраслях. Своей популярностью Linux отчасти обязана более гибким функциям и возможностям настройки по сравнению с другими операционными системами.
  • Apache: веб-сервер. Веб-сервер Apache обрабатывает запросы и предоставляет веб-ресурсы по протоколу HTTP, чтобы любой пользователь мог получить доступ к приложению по простому URL. Apache — надежный и многофункциональный веб-сервер с открытым исходным кодом, на котором сейчас работает огромное количество веб-сайтов Интернета.
  • MySQL: база данных. MySQL — реляционная СУБД с открытым исходным кодом, предназначенная для хранения данных приложений. My SQL позволяет хранить всю информацию в формате, поддерживающем запросы на SQL. SQL — идеальное решение для хорошо структурированных областей бизнеса, если требуется перенести эту структуру на внутренний уровень. MySQL прекрасно подходит даже для больших и сложных сайтов. Дополнительную информацию о базах данных SQL и NoSQL см. в документе «Базы данных SQL и NoSQL: в чем разница?»
  • PHP: язык программирования. Скриптовый язык программирования PHP с открытым исходным кодом вместе с Apache помогает создавать динамические веб-страницы. Для выполнения динамических процессов, например извлечение данных из базы данных, язык HTML не подходит. Для реализации этих функций достаточно просто поместить код PHP на тот участок страницы, который должен быть динамическим.

Главная цель PHP — повышение эффективности. Программирование упрощается и приобретает некую форму игры: вы пишете новый код, нажимаете кнопку «Обновить» и сразу же, без компиляции, видите изменения. При желании можно вместо PHP пользоваться Perl или Python, набирающий все большую популярность.

 

Схема архитектуры LAMP

Архитектура LAMP

Архитектура LAMP классическая и складывается из нескольких уровней. На самом нижнем уровне находится Linux. На следующем уровне расположились Apache и MySQL, за ними следует PHP. Хотя номинально PHP и находится на самом верху (на уровне представления данных), компонент PHP входит в Apache.

Взаимодействие элементов

Взаимодействие элементов можно проследить в общем представлении порядка выполнения стека LAMP. Процесс начинается с того, что веб-сервер Apache получает от браузера пользователя запросы на веб-страницы. Если запрос касается файла PHP, то Apache передает запрос PHP, который загружает файл и выполняет содержащийся в нем код. Если в коде упоминаются данные, которые требуется извлечь, то PHP взаимодействует с MySQL.

Затем на основе кода в файле и данных, извлеченных из базы данных, PHP создает разметку HTML, согласно которой браузеры отображают веб-страницы. Стек LAMP эффективен для работы не только со статическими, но и с динамическими веб-страницами, содержимое которых может меняться при каждой загрузке в зависимости от даты, времени, ИД пользователя и других факторов.

После выполнения кода PHP передает полученные данные обратно на веб-сервер Apache для отправки в браузер. Также эти новые данные могут сохраняться в MySQL. И, разумеется, все эти операции поддерживаются операционной системой Linux, лежащей в основе всего стека.

Гибкость

Несмотря на то, что в качестве ОС в LAMP используется Linux, никто не запрещает при необходимости использовать любые другие компоненты с другой ОС. Например, есть стек WAMP с Microsoft Windows; MAMP с Mac OS и даже WIMP, использующий Windows и веб-сервер Internet Information Services от Microsoft.

Поскольку LAMP полностью состоит из ПО с открытым исходным кодом и не является коммерческим, у вас есть полная свобода выбора. Вы можете подбирать оптимальные компоненты для конкретных проектов или бизнес-требований.

Но гибкость LAMP этим не ограничивается. Apache является модульным решением с большим количеством готовых настраиваемых модулей для разных расширений. Это модули самого разного назначения, начиная от поддержки других языков и заканчивая функциями аутентификации.

Еще одним преимуществом LAMP является его защищенная архитектура и отлаженные алгоритмы шифрования, доказавшие свою эффективность на многих предприятиях.

Эффективность

LAMP способен существенно ускорить разработку. Так как LAMP — набор открытого ПО, существующего уже более десяти лет, за это время вокруг этого стека сформировалась солидная экосистема. В вашем распоряжении — множество чужих готовых наработок. Подбирайте модуль Apache, решающий 80% ваших задач, настраивайте остальные 20% и получайте значительную экономию времени.

Стек LAMP и IBM

На фоне постоянного усложнения технологий базовые механизмы работы ПО остаются за кадром. Стек LAMP возвращает нас к истокам, помогая чуть лучше разобраться в техническом обслуживании веб-страниц и его принципах. Также можно сказать, что это чистый способ создания приложения. У вас есть база данных, ваш язык сценариев и способ предоставления его клиентам — это и есть LAMP.

Зарегистрируйтесь и создайте учетную запись IBM Cloud.