 | Вступаем в "тайное общество" LAMP
Для создания полноценного Web-приложения, например Интернет-магазина, вам понадобится компьютер, канал доступа к Интернет, операционная система, программы Web-сервера, база данных и само приложение. Такой набор называют "стеком" (от англ. stack ‐ стопка), так как приведенные условия напоминают стопку коржей для слоеного пирога: сверху "лежит" приложение, которое в свою очередь "лежит" на базе данных, ниже располагается Web-сервер, под которым находится операционная система. LAMP – это аббревиатура "Linux, Apache, MySQL и Perl" (вместо Perl может быть PHP, Python или любой другой язык программирования, programming language).
Linux
Linux является операционной системой и предоставляет средства для работы с ресурсами компьютера, включая сетевое соединение, процессор, жесткий диск, принтер и др. Linux — многозадачная система, способная выполнять множество приложений одновременно и состоящая из ядра, являющегося "мозговым" центром компьютера, и тысяч утилит и программ.
Apache
Apache (полное название — Apache HTTP Server) является бесплатным открытым Web-сервером. В Linux он запускается как фоновый процесс и находится в состоянии ожидания запросов от Web-браузеров. При поступлении запроса от браузера Apache принимает соединение, распознает и обрабатывает запрос (например, "выдать файл с именем my_vacation.html"), а затем отправляет результат. Apache запускается в виде нескольких процессов, чтобы обрабатывать множество одновременных запросов с минимальными задержками.
MySQL
Среди систем баз данных Open Source почетное место занимает MySQL. Он отвечает за хранение данных, которыми оперирует приложение. Например, в базе данных MySQL может храниться ассортимент товаров или список всех заказов, сделанных через Web-сайт Интернет-магазина. MySQL также работает в виде фонового процесса, или сервера, ожидая входящих запросов. Как и многие другие серверы, MySQL запускается в нескольких экземплярах для увеличения скорости обработки.
Perl, PHP и Python
В ранних реализациях LAMP буква "P" означала Perl — открытый язык программирования с давней историей, который можно по праву назвать первопроходцем в мире динамических Web-приложений для Linux (т. е. отображающих не только статические данные). В начале этого десятилетия появилось два других скриптовых языка, названия которых также начинаются на "P", — это PHP и Python. Благодаря этому случайному совпадению LAMP слегка поменяла свой смысл.
Другие Web-серверы, базы данных и языки программирования
Кроме Apache существуют и другие Web-серверы для Linux, например, lighttpd (произносится как "лайти") — маленький и быстрый сервер, который проще в настройке, чем Apache. Имеются и альтернативные свободные серверы баз данных, например, PostgreSQL, который также популярен в мире Open Source и примечателен широкой поддержкой транзакций, или SQLite, отличающийся крохотным размером. (Кстати, SQLite встроен во все аппараты iPhone). И, конечно, в Linux доступны языки программирования для Web на любой вкус — как компилируемые, так и интерпретируемые: Java™, Mono (свободная реализация платформы Microsoft .NET), Ruby и многие другие.
На сегодняшний день термин LAMP подразумевает все, что связано с набором Web-программ Open Source. Иногда можно услышать такую фразу в разговоре программистов: "У нас фирма на LAMP". Это означает, что в компании, где работает говорящий, Web-инфраструктура основана на Open Source.
|  |