NGINX или Apache?

Наверняка, вы довольно часто слышали это странное слово. NGINX — это популярная технология, название которой является сокращением от engine x. Это технология веб сервера, которая была разработана для высоконагружаемых проектов. Позиционируется как простой, быстрый и надёжный сервер, не перегруженный функциями. Согластно Netcraft, данную технологию используют почти 500 миллионов сайтов. NGINX является второй, самой распространенной технологией, после Apache.

NGINX получила широкое распространение среди веб-разработчиков и системных администраторов благодаря своей простоте, удобству и функциональности.

NGINX или Apache

Если сравнивать NGINX с Apache, то первый работает быстрее при отдаче статики, а также потребляет меньше ресурсов сервера. Apache, в свою очередь, может похвастать совместимостью с большинством программ и довольно сильной гибкостью модульной системы. Очень часто, используют оба веб-сервера одновременно — NGINX принимает запросы, отдает статику и перенаправляет обработку скриптов Apache. Такой подход позволяет извлечь плюсы обеих систем.

Apache позволяет настроить правила для обработки запросов на уровне каталога. Для этого используется htaccess.

С помощью скрытого файла .htaccess можно настроить авторизацию и аутентификацию, кеширование и права доступа пользователей. Конфигурацию менять можно прямо во время работы,без перезагрузки и дополнительнай настройка сервера. У NGINX подобной возможности нет, но для ограничения доступа можно использовать директиву location.

Сам по себе NGINX не генерирует динамический контент. Для этих целей его часто используют в связке с PHP-PFM. NGINX работает на большенстве популярных платформ: FreeBSD, Linux, Solaris, macOS и Windows Server.

NGINX или Apache

Среди возможностей работы с Аpache следует выделить функцию конфигурирования обработки запросов на уровне каталогов при помощи скрытого файла htaccess. С помощью него есть возможность настроить авторизацию и аутентификацию, кеширование и права доступа пользователей. Конфигурацию менять можно прямо во время работы, при этом не требуется перезагрузка сервера и дополнительная настройка сервера.

Веб-сервер Nginx таких возможностей не имеет. Предоставляется только один конфигурационный файл, который обрабатывает мастер. Для запуска обновлений конфигурации, необходимо отправить сигнал мастеру и сделать перезагрузку сервера.

Редиректы. Rewrite-правило на Apache и Nginx

Проставлять редиректы — дело важное. Часто, продвинутые веб мастера и собственики сайтов проставляют редиректы в настройках NGINX или файле .htaccess. И хотя второй вариант случается намного чаще, мы покажем пример реализации на двух технологиях.

Apache:

<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_FILENAME} ^.*(pdf|mp4)$
RewriteRule ^(.*)$ /wp-content/themes/load.php?file=$1 [L] 
</IfModule>

NGINX:

rewrite ^/(.*(?:pdf|mp4))$ /wp-content/themes/load.php?file=$1;

Сайты, которые используют NGINX

Так как NGINX разработан для высоконагруженных проектов и отлично работате со статическим контентом (картинки, видео, скрипты), он очень распространен среди гигантов интернета: Facebook, Яндекс, Netflix, Instagram и других компаний. Отметим, что для Magento мы тоже рекомендуем использовать NGINX.

Первая версия вышла в 2004 году. Разработчик — Игорь Сысоев. В июне 2018 года компания привлекла очередные инвестции в размере $43 млн. Это внушает оптимизм в развитие компании и технологии в целом.

Что выбирать — решать каждому. Скорее всего, разработчик, хостер или ваш системный администратор расскажет, что именно нужно использовать вашему проекту и почему. Главное — проект может работать, как на NGINX, так и на Apache. В редких случаях то, что «под капотом» существенно ограничивает проекты.

NGINX или Apache?
5 / Оценили: 3
Агентство интернет-маркетинга2018-12-02T08:15:04+00:0015.07.2018|Технологии|

1
Отправить ответ

avatar
1 Цепочка комментария
0 Ответы по цепочке
0 Последователи
 
Популярнейший комментарий
Цепочка актуального комментария
1 Авторы комментариев
Oleg Авторы недавних комментариев
новее старее большинство голосов
Oleg
Гость
Oleg

nginx и только! На высоконагруженных проектах себя отлично показывает