Apache и Nginx
Давайте больше узнаем о популярных веб серверах Apache и Nginx: о том, кто их использует, особенности и сравнение. Статья больше для общего развития, без технических подробностей.
Apache
Apache - это популярный кросс-платформенный веб-сервер с открытым исходным кодом, который по числу установок является самым популярным веб-сервером в мире. Он активно поддерживается Фондом свободного программного обеспечения web-сервера Apache.
Некоторые известные компании, использующие Apache, включают Cisco, IBM, Salesforce, General Electric, Adobe, VMware, Xerox, LinkedIn, Facebook, Hewlett-Packard, AT&T, Siemens, eBay и многие другие.
Помимо своей популярности, это также один из старейших веб-серверов, первый релиз которого состоялся еще в 1995 году. Многие хосты cPanel сегодня используют Apache. Как и другие веб-серверы, Apache обеспечивает закулисные аспекты обслуживания файлов вашего сайта для посетителей.
Поскольку Apache не работает так хорошо в некоторых тестах, особенно для статических веб-сайтов или сайтов с высоким трафиком, Kinsta использует веб-сервер NGINX вместо Apache. Хотя NGINX существует не так давно, как Apache, его популярность и доля на рынке быстро выросли с момента его запуска в 2004 году.
Основы веб-сервера
Хотя в основе функционирования веб-сервера лежит большая сложность, основная задача всех веб-серверов состоит в том, чтобы принимать запросы от клиентов (например, веб-браузер посетителя), а затем отправлять ответ на этот запрос (например, компоненты страницы, которую посетитель хочет увидеть).
Веб-сервер Apache имеет модули, которые добавляют дополнительные функции к его программному обеспечению, такие как MPM (для обработки многопроцессорных режимов) или mod_ssl для включения поддержки SSL v3 и TLS. Некоторые общие функции, замеченные в Apache, включают:
- .htaccess
- Протокол IPv6
- FTP
- HTTP 2
- Perl, Lua и PHP
- Дросселирование полосы пропускания
- WebDAV
- Балансировка нагрузки
- Переписывание URL-адресов
- Отслеживание сеансов
- Геолокация на основе IP-адреса
Nginx
Nginx является веб-сервером с открытым исходным кодом, который с момента его первоначального успеха в качестве веб-сервера теперь также используется как обратный прокси, http-кэш и балансировщик нагрузки.
Некоторые известные компании, использующие Nginx – это Autodesk, Apple Atlassian, Intuit, T-Mobile, GitLab, DuckDuckGo, Intel, Microsoft, IBM, Google, Adobe, Salesforce, VMWare, Xerox, LinkedIn, Cisco, Facebook, Target, Citrix Systems, Twitter и многие другие.
Nginx был первоначально создан Игорем Сысоевым; первый публичный выпуск (релиз) был в октябре 2004 года. Игорь первоначально задумал программное обеспечение как ответ на проблему C10k, которая является проблемой производительности обработки одновременных соединений.
Поскольку его корни лежат в оптимизации производительности в масштабе, Nginx часто превосходит другие популярные веб-серверы в тестовых тестах, особенно в ситуациях со статическим контентом и / или высокими параллельными запросами, поэтому, например, сайт iamprogramer.ru, на котором вы сейчас и находитесь, работает на Nginx.
Как Nginx работает?
Nginx построен, чтобы предложить низкое использование памяти и высокий параллелизм. Вместо того, чтобы создавать новые процессы для каждого веб-запроса, Nginx использует асинхронный, управляемый событиями подход, в котором запросы обрабатываются в одном потоке.
С помощью Nginx один главный процесс может управлять несколькими рабочими процессами. Мастер поддерживает рабочие процессы, в то время как рабочие выполняют фактическую обработку. Поскольку nginx является асинхронным, каждый запрос может выполняться работником одновременно без блокировки других запросов.
Nginx может работать с:
- Обратным прокси с кэшированием
- IPv6
- Балансировка нагрузки
- Поддержка FastCGI с кэшированием
- WebSockets
- Обработка статических файлов, индексных файлов и автоматическая индексация
- TLS / SSL с SNI

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

Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.
Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.