Jump to content

ЛАМПА (комплект программного обеспечения)

(Перенаправлено из SAMP (Sun Web Stack) )

Общий обзор строительных блоков LAMP и общей системной среды.

LAMP ) — ( L inux, A pache, MySQL , Perl / P HP/ Python один из наиболее распространенных программных стеков для самых популярных веб -приложений . Его общая модель стека программного обеспечения состоит в основном из взаимозаменяемых компонентов. [ 1 ]

Каждая буква в аббревиатуре обозначает один из четырех строительных блоков с открытым исходным кодом :

Компоненты стека LAMP присутствуют в репозиториях программного обеспечения большинства дистрибутивов Linux .

Аббревиатура LAMP была придумана Михаэлем Кунце в декабрьском выпуске немецкого компьютерного журнала Computertechnik за 1998 год , когда он продемонстрировал, что пакет бесплатного программного обеспечения с открытым исходным кодом «может быть реальной альтернативой дорогим коммерческим пакетам». [ 2 ] С тех пор O'Reilly Media и MySQL объединились, чтобы популяризировать эту аббревиатуру и пропагандировать ее использование. [ 3 ] Этот термин и концепция стали популярными благодаря одному из первых пакетов программного обеспечения с открытым исходным кодом для Интернета. Стек способен размещать различные веб-фреймворки и приложения, такие как WordPress и Drupal . [ 4 ]

Варианты

[ редактировать ]

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

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

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

Другой пример: программное обеспечение, которое Arc.Ask3.Ru и другие проекты Фонда Викимедиа используют для своей базовой инфраструктуры, представляет собой настроенный стек LAMP с такими дополнениями, как виртуальный сервер Linux (LVS) для балансировки нагрузки , а также Ceph и Swift для распределенных объектных хранилищ. [ нужна ссылка ]

Программные компоненты

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

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

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

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

MySQL и альтернативы базам данных

[ редактировать ]

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

MySQL — многопоточная , многопользовательская SQL данных система управления базами , [ 8 ] приобретена Sun Microsystems в 2008 году, которая затем была приобретена Oracle Corporation в 2010 году. [ 9 ] С первых лет своего существования команда MySQL предоставила свой исходный код доступным на условиях GNU General Public License , а также в соответствии с различными соглашениями о правах собственности .

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

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

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

[ редактировать ]

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

PHP — это серверный язык сценариев, предназначенный для веб-разработки , но также используемый в качестве языка программирования общего назначения . Код PHP интерпретируется веб-сервером через модуль процессора PHP, который генерирует результирующую веб-страницу. Команды PHP могут быть встроены непосредственно в исходный документ HTML вместо вызова внешнего файла для обработки данных. Он также был усовершенствован и теперь включает возможность интерфейса командной строки и может использоваться в автономных графических приложениях . [ 10 ] PHP — это бесплатное программное обеспечение, выпущенное на условиях лицензии PHP , которая несовместима с лицензией GNU General Public License (GPL) из-за ограничений лицензии PHP, налагаемых на использование термина PHP . [ 11 ]

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

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

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

[ редактировать ]

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

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

См. также

[ редактировать ]
  1. ^ «LAMP (Linux, Apache, MySQL, PHP)» . SearchEnterpriseLinux . Архивировано из оригинала 28 ноября 2021 года . Проверено 15 декабря 2021 г.
  2. ^ Кунце, Майкл (декабрь 1998 г.). «LAMP: бесплатная система веб-публикации с поддержкой баз данных» . не так ли . Архивировано из оригинала 3 февраля 1999 года . Проверено 15 июня 2024 г.
  3. ^ Кей, Рассел (25 сентября 2006 г.). «Как: ЛАМПА» . Компьютерный мир . Архивировано из оригинала 11 июля 2021 года . Проверено 15 декабря 2021 г.
  4. ^ «Стопка ЛАМП» . Центр облачного обучения IBM . ИБМ. Октябрь 2015 г. Архивировано из оригинала 15 декабря 2021 г. Проверено 15 декабря 2021 г.
  5. ^ «Стек LEMP (Linux, Nginx, MySQL, PHP)» . lemp.io. Архивировано из оригинала 19 ноября 2021 года . Проверено 16 декабря 2021 г.
  6. ^ «Избранные пользователи» . ПостгреSQL. Архивировано из оригинала 22 января 2014 года . Проверено 22 января 2014 г.
  7. ^ «Debian/Ubuntu расширяет доминирование на рынке веб-серверов Linux» . W³Techs . Проверено 16 декабря 2021 г.
  8. ^ «Основные причины для встраивания менеджеров по продуктам» . MySQL. Архивировано из оригинала 2 июля 2014 года . Проверено 27 июля 2014 г.
  9. ^ «Sun блокирует MySQL и смотрит на будущее веб-разработки» . Информационная неделя. Архивировано из оригинала 28 февраля 2008 года . Проверено 27 июля 2014 г.
  10. ^ «Введение: что может PHP?» . Руководство по PHP . Архивировано из оригинала 15 декабря 2021 года . Проверено 16 декабря 2021 г.
  11. ^ «Лицензии свободного программного обеспечения, несовместимые с GPL» . Различные лицензии и комментарии к ним . Фонд свободного программного обеспечения. Архивировано из оригинала 16 декабря 2021 года . Проверено 16 декабря 2021 г.
  12. ^ «О Перле» . perl.org. Архивировано из оригинала 22 ноября 2021 года . Проверено 16 декабря 2021 г. «Perl» — это семейство языков, «Perl 6» — часть семейства, но это отдельный язык, имеющий собственную команду разработчиков. Его существование не оказывает существенного влияния на дальнейшее развитие «Perl 5».
  13. ^ Уолл, Ларри ; Том Кристиансен; Джон Орвант (июль 2000 г.). Программирование на Perl, третье издание . О'Рейли Медиа . ISBN  0-596-00027-8 .
  14. ^ Смит, Родерик В. (21 июня 2002 г.). Расширенная сеть Linux . Аддисон-Уэсли Профессионал. п. 594. ИСБН  978-0-201-77423-8 .
  15. ^ «Тенденции в языке программирования – радар О'Рейли» . Радар.oreilly.com. 2 августа 2006 г. Архивировано из оригинала 24 сентября 2021 г. Проверено 16 декабря 2021 г.
  16. ^ «О Питоне» . Основа программного обеспечения Python. Архивировано из оригинала 16 декабря 2021 года . Проверено 16 декабря 2021 г.
  17. ^ Jump up to: а б Симич, Драган; Ристич, Сречко; Обрадович, Слободан (апрель 2007 г.). «Измерение достигнутого уровня производительности веб-приложений с распределенной реляционной базой данных» (PDF) . Электроника и энергетика . Факта Университета. п. 31–43. Архивировано (PDF) из оригинала 7 октября 2021 года . Проверено 16 декабря 2021 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 463e31d1297d647367c86ea2a53f7458__1718404260
URL1:https://arc.ask3.ru/arc/aa/46/58/463e31d1297d647367c86ea2a53f7458.html
Заголовок, (Title) документа по адресу, URL1:
LAMP (software bundle) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)