Объяснение стека LAMP

Раскрытие информации: HostScore поддерживается читателями. Когда вы покупаете по нашим ссылкам, мы можем получить комиссию. Все цены на этом сайте отображаются в USD если не указано иное.

Содержание

Спросите ИИ об этой странице:
ChatGPT
Клод
Perplexity
Grok
Google AI

Существует множество программных стеков, используемых в веб-разработке или развертывании приложений. Одной из самых популярных комбинаций является ЛАМПЫ стек. В этой статье мы рассмотрим все, что вам нужно знать о стеке LAMP.

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

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

Например, в случае приложения стек может служить основой, позволяющей ему функционировать. 

Ярким примером этого является WordPress, который требует все компоненты стека LAMP. Однако это не жесткое и быстрое правило, что WordPress или любое другое приложение должно использовать стек LAMP. Существуют различные вариации LAMP, такие как LEMP, LAPP, LEAP и другие.

Понимание компонентов стека LAMP

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

Linux – Операционная система

Linux — операционная система

Linux является операционной системой (ОС) по выбору для Apache и MySQL, поэтому неудивительно, что Linux играет центральную роль в стеках LAMP. Эта Unix-подобная ОС управляет всем, от суперкомпьютеров до смартфонов. Это самый важный программный компонент любого аппаратного устройства, поскольку вы ничего не можете сделать без ОС.

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

Apache – Веб-сервер

Apache - Веб-сервер

Apache это веб-сервер с открытым исходным кодом, работающий на Linux. Веб-сервер отвечает за «прослушивание» и «обслуживание». Каждый раз, когда он получает запрос от веб-браузеров, Apache передает его другим компонентам LAMP для обработки. Когда он готов, Apache отправляет запрошенную страницу в веб-браузер.

Как и Линукс, Apache имеет открытый исходный код и может использоваться бесплатно без лицензии. Apache легкий, поэтому не потребляет много ресурсов на вашем сервере. Его гибкая природа делает его одним из лучших вариантов для многих компаний веб-хостинга.

MySQL – Ядро базы данных

MySQL - Механизм базы данных

Движки баз данных — рабочие лошадки большинства современных вычислительных систем. Они управляют данными, делают их доступными для приложений и предоставляют инструменты для управления этими данными. Движки баз данных бывают разных форм. Некоторые из них предназначены для решения конкретных задач (например, электронной коммерции), а другие являются универсальными решениями.

MySQL — это система управления реляционными базами данных (СУБД). Реляционные базы данных — наиболее распространенный тип баз данных, используемых в веб-приложениях. Они просты в использовании и обеспечивают быстрый доступ к данным.

PHP – Язык сценариев

PHP - Язык сценариев

PHP — серверный язык, созданный Расмусом Лердорфом в 1994 году. Вы можете использовать его как язык сценариев для веб-разработки. Например, PHP работает с HTML и CSS для создания динамического контента для веб-сайтов, веб-приложений и других онлайн-сервисов.

PHP является одним из трех основных языков, используемых в стеках LAMP. Другие альтернативы включают Perl и Python. Часто природа веб-приложения диктует язык сценариев, используемый в стеке LAMP.

Как работает стек LAMP?

Каждое из приложений в стеке LAMP предоставляет определенный набор служб, внося вклад в функцию более высокого уровня. Чаще всего эта функция заключается в создании веб-сервера, способного поддерживать различные приложения.

Первое Apache получает запрос от веб-браузера. Он передает запрос веб-приложению. Затем веб-приложение запрашивает ядро ​​базы данных и возвращает запрошенную информацию. Затем данные возвращаются в Apache, который отправит его в веб-браузер, сделавший запрос.

Каждый из компонентов LAMP взаимодействует друг с другом через интерфейсы, разработанные как общие и абстрактные. Эти интерфейсы более известны как интерфейсы прикладного программирования (API). Хороший дизайн API должен быть достаточно гибким, чтобы поддерживать множественные реализации, и эффективным в использовании ресурсов.

Кто использует LAMP?

Благодаря своей универсальности стек LAMP является одним из наиболее широко используемых программных стеков в индустрии веб-хостинга. Вы можете использовать LAMP для запуска практически любого веб-приложения. К ним относятся WordPress, Drupal, Joomla, LMS и многое другое. 

В перспективе WordPress Это само по себе делает стек LAMP доминирующим программным стеком во всем мире. WordPress полномочия более 40% всех веб-сайтов онлайн сегодня. Если вы управляете веб-сайтом, который работает на WordPress, вы также работаете на стеке LAMP.

Недостатки LAMP

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

Отсутствие поддержки новых языков

PHP был разработан для веб-разработки и оставался сосредоточенным. Между тем, другие языки были созданы специально для использования в таких сценариях, как наука о данных, например, R. Стек LAMP не поддерживает эти языки, поэтому вам придется начать с нуля, если вы хотите использовать их с настройкой вашего сервера.

Отсутствие поддержки безопасности

Большинство компонентов с открытым исходным кодом полагаются на вклад сообщества для улучшения функций безопасности. Хотя до сих пор это было эффективно, это может быть проблематично, поскольку нет единого субъекта, ответственного за обеспечение того, чтобы все пользователи имели доступ к последним обновлениям безопасности.

Высокое использование ресурсов

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

Альтернативы стеку LAMP

Хотя LAMP популярен, это далеко не единственный доступный программный стек. Вот некоторые другие программные стеки, которые вы можете рассмотреть в качестве альтернатив стеку LAMP:

1. СРЕДНИЙ Стек

MEAN это аббревиатура от MongoDB, Express, AngularJS и Node.js. MEAN — это новый фреймворк, набирающий популярность среди разработчиков, поскольку он позволяет им создавать приложения с использованием JavaСкрипт как на фронтенде, так и на бэкенде. MEAN стал популярным выбором для стартапов, поскольку он позволяет легко создавать масштабируемые приложения без изучения новых языков или фреймворков.

2. Стек WAMP

WAMP означает Windows Apache MySQL PHP. Он похож на LAMP, за исключением замены Linux в качестве ОС. Вместо этого стек WAMP использует Windows. Это включение приводит к западному включению других инструментов, таких как FTP клиенты, редакторы и т. д.

3. Стек XAMPP

XAMPP означает кроссплатформенность (многооперационная), Apache, MySQL, PHP и Perl. Дистрибутив по умолчанию включает все четыре компонента, но вы также можете установить их по отдельности. XAMPP доступен в операционных системах Windows, macOS и Linux и может использоваться для создания среды тестирования без установки всего стека LAMP на ваш сервер.

Как установить стек LAMP в Ubuntu?

Это краткое руководство предполагает, что у вас уже есть установленная копия Linux на сервере. Точные команды могут отличаться из-за множества доступных разновидностей Linux. Однако общий процесс должен быть относительно схож. Мы будем использовать Ubuntu 20.04.

Установка Apache веб-сервер

  1. Обновите свой локальный индекс пакетов с помощью Обновление sudo apt
  2. Установите Apache2 с sudo apt установить apache2
  3. Для подтверждения того, что Apache служба запущена, введите sudo systemctl status apache2
  4. Далее нам нужно изменить настройки брандмауэра и повысить уровень безопасности. Список приложений sudo ufw отобразит доступные режимы брандмауэра. Обычно это будут Apache, Apache Полный, и Apache Безопасный. 

Для начала просто используйте «Apache», так как это запретит любой доступ, за исключением порта 80. Сделайте это с помощью следующей команды; sudo ufw разрешить 'Apache"

Установка MySQL

  1. Как только Apache запущен и работает, переходим к установке MySQL. Если индекс вашего репозитория уже обновлен, вы можете просто запустить MySQL установка сервера с помощью следующей команды; sudo apt установить MySQL-сервер
  2. Опять же, вы можете проверить установку с помощью команды systemctl; sudo systemctl запустить mysql.service
  3. Все свежее MySQL установки довольно просты, и одной из основных задач конфигурации является укрепление безопасности. К счастью, есть пакет безопасности, который вы можете быстро развернуть; sudo mysql_secure_installation

Выполнение команды приведет к появлению ряда вопросов по настройке скрипта для внесения необходимых изменений безопасности. 

Установка PHP 

Linux поставляется с PHP в репозитории, но вам нужно будет установить пакет. Используемая команда будет зависеть от того, какой PHP версию, которую вы хотите развернуть. Например, для установки PHP 7.4 запустить sudo apt install php7.4.

Заключение

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

Программные стеки, такие как LAMP, вступают в игру, когда переход на виртуальные частные серверы (VPS)Здесь вы можете в полной мере воспользоваться универсальностью LAMP или даже создать пользовательскую среду, соответствующую вашим потребностям.

Об авторе: Jerry Low

Jerry Low Он более десяти лет посвятил себя веб-технологиям и создал множество успешных сайтов с нуля. Он — самопровозглашённый гик, поставивший своей целью поддерживать честную работу в индустрии веб-хостинга.
Фото автора

Больше от HostScore

Найдите подходящий веб-хостинг

Не уверены, какой тарифный план хостинга подходит для вашего сайта? Инструмент поиска веб-хостинга подбирает для вашего сайта подходящие варианты, учитывая его реальные потребности — рабочую нагрузку, использование и приоритеты.

Построен из HostScoreБлагодаря реальному опыту хостинга и исследованиям производительности, вы сможете избежать переплаты, недостаточного выделения ресурсов или выбора тарифных планов, которые не будут масштабироваться.

Попробуйте Web Hosting Finder (бесплатно)