APACHE VS NGINX: все о данных технологиях. Что выбрать?
Какие наиболее популярные веб-сервера, Вы знаете? Правильно, Apache и Nginx. О них наверное не раз слышали все те, кто имеет отношение к сфере системного администрирования. Эти веб-сервера используются для обработки HTTP-запросов, каждый из которых имеет определенный набор возможностей и функций. Попробуем разобраться, для каких ситуаций необходим каждый из серверов и где лучше применять Apache или Nginx.
ИСТОРИЯ РАЗВИТИЯ ТЕХНОЛОГИЙ
Немножко исторических фактов.
Веб-сервер Apache был разработан еще в 1995 году, и спустя год набрал больших оборотов популярности. Изначальная идея разработчика Роберта Маккула была в создании гибкого и мощного программного обеспечения, которое будет хорошо интегрироваться с другим софтом. Задумка осуществилась, сегодня динамичный Аpache выбирают большинство системных администраторов, так как его можно дополнять функциональными модулями.
Веб-сервер Nginx разработали в 2002 году. Его разработчик Игорь Сысоев создал легкий веб-сервер, который прекрасно масштабируется и годен выдерживать высокие нагрузки. Правда, конкурировать Nginx с Apache пока что сложно, ведь последний имеет большое количество поклонников, не смотря на тяжелость.
КАК РАБОТАЮТ СЕРВЕРА
В основе работы веб-сервера Аpache создание отдельного процесса или потока в ответ на каждый пользовательский запрос. Данная технология достаточно легкая в реализации, но, к сожалению, однозначно не подходит для проектов, у которых много задач. Любой процесс «съедает» память и ресурсы системы. Поэтому Аpache подходит для сайтов с низким уровнем загруженности.
В основе работы веб-сервера Nginx - это создание дочерних процессов, которые и обрабатывают запросы. Поэтому данная технология подходит больше для высоконагруженных сайтов, которые обслуживают тысячи соединений одновременно.
ОСОБЕННОСТИ ВЫДАЧИ КОНТЕНТА
Веб-сервер Аpache генерирует статический и динамический контент, поэтому его выбирают пользователи, которые не имеют желания настраивать проксирование и дополнительные возможности для работы с динамикой.
В отличии от первого, Nginx выдает только статический контент, а вот динамический не генерирует. Правда его можно использовать в связке с Apache, PHP-PFM или любым другим web-приложением, к примеру, Python (Django), Ruby on Rails, nodejs и тп.
ФУНКЦИИ НАСТРОЙКИ СЕРВЕРОВ
Среди возможностей работы с Аpache следует выделить функцию конфигурирования обработки запросов на уровне каталогов при помощи скрытого файла htaccess. С помощью него есть возможность настроить авторизацию и аутентификацию, кеширование и права доступа пользователей. Конфигурацию менять можно прямо во время работы, при этом не требуется перезагрузка сервера и дополнительная настройка сервера.
Веб-сервер Nginx таких возможностей не имеет. Предоставляется только один конфигурационный файл, который обрабатывает мастер. Для запуска обновлений конфигурации, необходимо отправить сигнал мастеру и сделать перезагрузку сервера.
НАЛИЧИЕ МОДУЛЕЙ
Веб-сервер Аpache включает 60 официальных модулей и большое количество любительских. Преимущество в том, что данные модули не требуют сборки, их можно сразу загружать в ленту.
Веб-сервер Nginx насчитывает 130 официальных модулей, для их запуска необходима предварительная сборка. Данная работа достаточно сложная, но считается более безопасной.
КАКИЕ ОС ПОДДЕРЖИВАЮТСЯ
Аpache имеет поддержку Unix-подобных ОС и всей линейки Windows, в том числе последние обновления системы.
Nginx - большинство Unix-подобных ОС и частично Windows.
Подборка статистических данных о веб-серверах:
- Аpache используют около 69 миллионов веб-сайтов, Nginx – почти 44 миллиона.
- Аpache наиболее часто используют для сайтов в категориях «бизнес и промышленность», «искусство и развлечения», «торговля», «интернет и телекоммуникации». Веб-сервер Nginx лидирует сайтах тематики «человек и общество», «религия и духовность», «юмор», «форумы и чаты».
- Аpache считается основным веб-сервером в 207 странах мира, включая США, Японию, Германию и Францию. А Nginx в 10 странах, в том числе Украине, Китае, Индонезии и России.
Вывод. Веб-сервера Apache и Nginx – это надежное и безопасное программное обеспечение, которое используют во всем мире. Если Вам необходимо сделать выбор в пользу одного из них, то в первую очередь отталкивайтесь от загруженности сайта и требований к обработке HTTP-запросов. Но самое главное, эти веб-серверы могут работать в связке, что позволяет получить преимущества обоих систем. О связки APACHE и NGINX писала в предыдущей статье.
Необходим VPS сервер для работы данной технологии? Обращайтесь в компанию ГиперХост, мы подберем для вас наиболее качественное решение.