Все, что вам нужно знать о стеке LAMP

Обновлено: 2022 / Автор статьи: Тимоти Шим

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

Что такое стек 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 — это веб-сервер с открытым исходным кодом. который работает на Linux. веб-сервер отвечает за «слушание» и «служение». Каждый раз, когда он получает запрос от веб-браузеров, апаш передает его другим компонентам LAMP для обработки. Когда все готово, Apache отправляет запрошенную страницу в веб-браузер.

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

MySQL — механизм базы данных

mysql

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

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

PHP — язык сценариев

PHP

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

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

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

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

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

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

Кто использует ЛАМПУ

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

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

Недостатки ЛАМПЫ

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

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

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

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

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

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

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

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

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

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

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

2. Стек WAMP

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

3. Стек XAMPP

XAMPP расшифровывается как Cross-platform (multi-OS), 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 Full и Apache Secure. 

Для начала вы используете только «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 обеспечивает прочную универсальную основу для различных веб-сайтов или приложений. В большинстве случаев у вас нет выбора, какой программный стек предлагает ваш провайдер веб-хостинга. Однако пользователям виртуального хостинга не нужно заниматься этим — просто проверьте, поддерживает ли хост нужное вам приложение.

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

Узнать больше

О Тимоти Шим

Тимоти Шим - писатель, редактор и технический специалист. Начиная свою карьеру в области информационных технологий, он быстро нашел свой путь в печать и с тех пор работал с международными, региональными и отечественными изданиями в средствах массовой информации, включая ComputerWorld, PC.com, Business Today и The Asian Banker. Его опыт заключается в области технологий как с точки зрения потребителя, так и с точки зрения предприятия.

Подключение: