LAMP (пакет программного обеспечения)

редактировать
Пакет программного обеспечения

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

LAMP (Linux, A pache, M ySQL, P HP / P erl / P ython) - очень распространенный пример веб-службы стека, названный как аббревиатура названий исходных четыре компонента с открытым исходным кодом : операционная система Linux , HTTP-сервер Apache, MySQL система управления реляционными базами данных (RDBMS) и язык программирования PHP . Компоненты LAMP в основном взаимозаменяемы и не ограничиваются исходным выбором. В качестве стека решений LAMP подходит для создания динамических веб-сайтов и веб-приложений.

. С момента своего создания модель LAMP была адаптирована к другим компонентам, хотя обычно состоит из свободных и программное обеспечение с открытым исходным кодом. Например, эквивалентная установка в семействе операционных систем Microsoft Windows известна как WAMP, а эквивалентная установка в macOS известна как MAMP.

Содержание
  • 1 Обзор
    • 1.1 Варианты
  • 2 Программные компоненты
    • 2.1 Linux
    • 2.2 Apache
    • 2.3 MySQL и альтернативы
    • 2.4 PHP и альтернативы
  • 3 Высокая доступность и балансировка нагрузки
  • 4 См. также
  • 5 Ссылки
  • 6 Внешние ссылки
Обзор

Первоначально популяризован из фразы «Linux, Apache, MySQL и PHP», аббревиатуры «LAMP» теперь относится к общей модели стека программного обеспечения. Модульность стека LAMP может различаться, но эта конкретная программная комбинация стала популярной, потому что ее достаточно для размещения большого количества платформ веб-сайтов, таких как Joomla, WordPress и <185.>Друпал. Компоненты стека LAMP присутствуют в репозиториях программного обеспечения большинства дистрибутивов Linux.

Пакет LAMP можно комбинировать со многими другими бесплатными пакетами программного обеспечения с открытым исходным кодом, такими как следующие:

Другой пример, программное обеспечение, которое Wikipedia и другие Wikimedia Foundation проекты используют для своей базовой инфраструктуры настраиваемый стек LAMP с такими дополнениями, как Linux Virtual Server (LVS) для балансировки нагрузки и Ceph и Swift для распределенных хранилищ объектов.

Варианты

С ростом использования архетипической LAMP, вариаций и ретронимы появились для других комбинаций операционной системы, веб-сервера, базы данных и языка программного обеспечения. Например, эквивалентная установка в семействе операционных систем Microsoft Windows известна как WAMP . Альтернативный вариант запуска IIS вместо Apache называется WIMP. Варианты, включающие другие операционные системы, включают MAMP (macOS ), SAMP (Solaris ), FAMP (FreeBSD ), iAMP (iSeries ) и XAMPP (кросс-платформенный).

Веб-сервер или система управления базами данных также различаются. LEMP - это версия, в которой Apache был заменен более легким веб-сервером Nginx. Версия, в которой MySQL был заменен на PostgreSQL, называется LAPP, или иногда с сохранением исходного аббревиатуры, LAMP (Linux / Apache / Middleware (Perl, PHP, Python, Ruby) / PostgreSQL).

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

Linux

Linux - это Unix-подобный компьютер операционная система, собранная по модели разработки и распространения бесплатного программного обеспечения с открытым исходным кодом. Большинство дистрибутивов Linux, представляющих собой наборы программного обеспечения, основанного на ядре Linux и часто на основе системы управления пакетами, предоставляют полные настройки LAMP через свои пакеты. По данным W3Techs в октябре 2013 года, 58,5% доли рынка веб-серверов делится между Debian и Ubuntu, а RHEL, Fedora и CentOS вместе разделяет 37,3%.

Apache

Роль веб-сервера LAMP традиционно предоставляется Apache, и с тех пор в нее были включены другие веб-серверы, такие как Nginx.

HTTP-сервер Apache был самым популярным веб-сервером в общедоступном Интернете. В июне 2013 года Netcraft подсчитала, что Apache обслуживает 54,2% всех активных веб-сайтов и 53,3% ведущих серверов во всех доменах. По оценкам, в июне 2014 года Apache обслуживал 52,27% всех активных веб-сайтов, за ним следует Nginx с 14,36%.

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

MySQL и альтернативы

Первоначальная роль MySQL в качестве системы управления реляционными базами данных (RDBMS) LAMP с тех пор альтернативно обеспечивалась другими RDBMS, такими как MariaDB или PostgreSQL, или даже Базы данных NoSQL, такие как MongoDB.

MySQL - это многопоточная, многопользовательская, SQL система управления базами данных (СУБД), приобретенная Sun Microsystems в 2008 году, которая затем была приобретена Oracle Corporation в 2010 году. С первых лет своего существования команда MySQL сделала свой исходный код доступным на условиях Стандартной общественной лицензии GNU, а также в рамках различных соглашений о правах собственности.

MariaDB - это форк MySQL, разработанный сообществом под руководством его первоначальных разработчиков.

PostgreSQL также является ACID -совместимой системой управления объектно-реляционными базами данных, разработанной PostgreSQL Global Development Group.

MongoDB - это база данных с открытым исходным кодом NoSQL веб-масштаба, которая отказывается от традиционной табличной структуры реляционной базы данных в пользу JSON - подобно документам с динамическими схемами (вызывая формат BSON ), что упрощает и ускоряет интеграцию данных в определенные типы приложений.

PHP и альтернативы

Роль PHP как языка программирования приложений LAMP также выполнялась другими языками, такими как Perl и Python.

PHP - это язык сценариев на стороне сервера, разработанный для веб-разработки, но также используемый как язык программирования общего назначения. Код PHP интерпретируется веб-сервером через модуль процессора PHP, который генерирует результирующую веб-страницу. Команды PHP могут быть дополнительно встроены непосредственно в исходный документ HTML вместо вызова внешнего файла для обработки данных. В него также была включена возможность интерфейса командной строки, и он может использоваться в автономных графических приложениях. PHP - это бесплатное программное обеспечение, выпущенное в соответствии с условиями Лицензии PHP, которая несовместима с Стандартной общественной лицензией GNU (GPL) из-за ограничений, налагаемых Лицензией PHP. использование термина PHP.

Perl - это семейство высокоуровневых, универсальных, интерпретируемых языков динамического программирования. Языки этого семейства включают Perl 5 и Raku. Они предоставляют расширенные средства обработки текста без произвольных ограничений на длину данных многих современных инструментов командной строки Unix, облегчая манипуляции с текстовыми файлами. Perl 5 получил широкую популярность в конце 1990-х как язык сценариев CGI для Интернета, отчасти из-за его возможностей синтаксического анализа.

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

Высокая доступность и балансировка нагрузки

Для веб-сайтов, обслуживающих большое количество запросов или предоставляющих услуги, требующие высокого времени безотказной работы, требуются специальные решения. Высокая доступность для стека LAMP может включать несколько веб-серверов и серверов баз данных в сочетании с дополнительными компонентами, которые выполняют логическое агрегирование ресурсов, предоставляемых каждым из серверов, а также распределение рабочей нагрузки по нескольким серверам. Агрегирование веб-серверов может быть обеспечено путем размещения перед ними балансировщика нагрузки , например, с помощью Linux Virtual Server (LVS). Для агрегации серверов баз данных MySQL предоставляет внутренние механизмы репликации, которые реализуют отношения главный / подчиненный между исходной базой данных (главной) и ее копиями (подчиненными).

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

См. Также
  • Бесплатно и портал программного обеспечения с открытым исходным кодом
  • icon Портал Linux
  • icon Интернет-портал
Ссылки
Внешние ссылки
Последняя правка сделана 2021-05-26 08:15:26
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте