Apache или Nginx - какой веб-сервер выбрать в 2026 году?

Техническое сравнение Apache HTTP Server и Nginx: устройство, поведение под нагрузкой, настройка, .htaccess против блоков location. С рекомендациями под каждую задачу.

Обзор

Apache HTTP Server (появился в 1995 году) и Nginx (в 2004-м) уже двадцать лет остаются двумя главными веб-серверами с открытым исходным кодом. Вдвоём они обслуживают больше 60 % мирового веба на 2026 год, хотя на пятки им наступают LiteSpeed, Caddy и Cloudflare. Оба делают одно и то же — принимают запросы HTTP и HTTPS и отдают статические или динамические ответы, — но устроены внутри совершенно по-разному, и именно это определяет их сильные и слабые стороны.

Apache стоит на устройстве с процессами и потоками (один процесс или поток на запрос), проверенном временем. Nginx делает ставку на асинхронное устройство, управляемое событиями, задуманное как раз ради огромного числа одновременных соединений при наименьшем расходе памяти. Это руководство сравнивает их в 2026 году и даёт настоящие основания для выбора — под вашу нагрузку, ваше приложение и ваш набор технологий.

Apache HTTP Server: устройство на процессах

Apache HTTP Server по умолчанию берёт модуль MPM (Multi-Processing Module) prefork или worker. При prefork каждый входящий запрос обслуживает отдельный процесс: просто и надёжно, но памяти уходит много (каждый процесс — несколько мегабайт). При worker (или event) Apache смешивает процессы и потоки, чтобы тратить меньше. Настраивается всё через файл httpd.conf и через локальные файлы .htaccess, которые Apache перечитывает на каждый запрос.

  • Достоинства: благодаря .htaccess приложения (WordPress, Laravel) сами задают себе правила, не трогая главный файл настроек. Модулей великое множество (mod_php, mod_rewrite, mod_ssl, mod_security). Совместим почти со всеми давними приложениями на PHP.
  • Слабые места: при очень высокой одновременной нагрузке (больше 10 000 соединений разом) расход памяти становится обузой. А чтение .htaccess на каждый запрос добавляет задержку.
  • Хорош для: общего хостинга со множеством клиентов (у каждого сайта свой .htaccess), привычных приложений вроде WordPress, Magento или Drupal и вообще случаев, где свобода настройки для каждого сайта важнее чистой скорости.

Nginx: асинхронное устройство, управляемое событиями

Nginx работает асинхронно и без блокировок: горстка рабочих процессов (обычно по одному на процессор) ведёт тысячи одновременных соединений через цикл событий (epoll в Linux). Никакого процесса на каждый запрос: один рабочий процесс держит сотни и тысячи открытых соединений. Расход памяти остаётся линейным и небольшим даже при очень высокой нагрузке.

  • Достоинства: исключительная скорость при отдаче статических файлов и в роли обратного прокси. Настройки собраны в одном месте (nginx.conf и подключаемые файлы). Прекрасно работает с SSL/TLS (HTTP/2, HTTP/3, OCSP stapling). Скромный расход памяти: один Nginx держит 10 000 соединений на 256 МБ.
  • Слабые места: нет .htaccess (все настройки собраны централизованно), нет встроенной поддержки модуля PHP (нужен PHP-FPM позади), да и поначалу освоить его труднее.
  • Хорош для: обратного прокси перед Node.js, Python или Go, отдачи статических файлов (сайты на Vite, выгрузка Next.js, работа наподобие сети доставки), огромного трафика и современных облачных сервисов.

Сравнительная таблица Apache и Nginx

Сводка по пунктам:

Быстродействие и поведение под нагрузкой

На обычных замерах (10 000 запросов в секунду, смешанная статика) Nginx держит в 2-5 раз больше одновременных соединений, чем Apache в режиме prefork при том же объёме памяти. На динамике в PHP (в обоих случаях через PHP-FPM) разрыв резко сокращается: обычно у Nginx преимущество в 10-20 % плюс расход памяти на 30-50 % меньше. На чистом HTTPS при сильной нагрузке на шифрование Nginx, как правило, экономнее. А для 90 % сайтов, живущих в пределах 1000 запросов в секунду, оба одинаково хороши.

Настройка: .htaccess против блоков location

Главное расхождение во взглядах: Apache допускает рассредоточенную настройку через .htaccess (любая папка может перебить общие правила), а Nginx требует собрать настройки в одном месте — в nginx.conf, блоками location. На деле это значит вот что:

  • Apache с .htaccess: удобно на общем хостинге (каждый клиент правит свой сайт), но файл читается на каждый запрос (лишние расходы) и легко ошибиться — неудачный .htaccess способен уронить сайт.
  • Nginx с блоками location: быстрее (настройки читаются один раз и лежат в памяти), безопаснее и предсказуемее. Чтобы изменения вступили в силу, нужна перезагрузка (nginx -s reload). Для общего хостинга подходит хуже.
  • Перенос правил .htaccess от WordPress в Nginx: правила переписывания адресов надо перевести в блок server или location. Нужные для WordPress правила автоматически собирают несколько онлайновых инструментов и расширений.

Когда выбирать один, а когда другой

  • Простой WordPress, блоги, сайты-визитки: Apache справляется отлично, особенно на общем хостинге. Nginx тоже подходит и чуть быстрее.
  • WooCommerce или Magento с большим трафиком: Nginx с PHP-FPM выигрывает и в скорости, и в устойчивости.
  • Приложение на Node.js, Python или Go: Nginx в роли обратного прокси обязателен (сам каркас слушает локально, а Nginx берёт на себя шифрование и внешний трафик).
  • Общий хостинг со множеством клиентов: Apache (или LiteSpeed) — ради встроенной поддержки .htaccess.
  • Обратный прокси или распределитель нагрузки: Nginx, который в этой роли великолепен (прокси, кеш, серверы позади).
  • Статические сайты (выгрузка Next.js, Astro, Vite): один только Nginx — идеально и вне конкуренции.

А почему не оба сразу? (Nginx и Apache)

Очень распространённая смешанная схема ставит Nginx впереди (шифрование, кеш статики, работа с соединениями), а Apache позади (.htaccess, mod_php). Nginx слушает порты 80 и 443, статические файлы отдаёт сам, а динамические запросы передаёт Apache на локальный порт 8080. Такая схема соединяет скорость Nginx на входе со свободой Apache для приложений. Plesk предлагает её одним нажатием, cPanel — через EasyApache 4.

Apache и Nginx - техническое сравнение

Apache и Nginx - техническое сравнение
Критерий Apache HTTP Server Nginx
Устройство Процесс или поток на каждый запрос Асинхронное, по событиям, с уплотнением
Одновременные соединения Несколько тысяч (prefork) Десятки тысяч (по событиям)
Расход памяти Высокий при большой нагрузке Низкий и ровный
Настройка httpd.conf и рассредоточенные .htaccess единый nginx.conf (блоки location)
Модуль PHP встроенный mod_php или PHP-FPM PHP-FPM позади обязателен
Обратный прокси Возможен (mod_proxy) Превосходно, это его главное дело
HTTP/2 и HTTP/3 HTTP/2 в порядке, HTTP/3 пока опытный HTTP/2 и HTTP/3 отработаны
Обычное применение Общий хостинг, WordPress, привычные приложения на PHP Обратный прокси, облачные сервисы, огромный трафик, статика

Частые вопросы

На статике и при большом числе одновременных соединений (свыше 10 000) — да, Nginx выигрывает заметно. На динамике в PHP с PHP-FPM разница составляет 10-20 %, ничего разительного. Для 90 % сайтов, у которых меньше 1000 посетителей одновременно, оба справляются одинаково хорошо.

Нет, Nginx файлы .htaccess не читает. Правила придётся перенести в nginx.conf или в подключаемый файл, внутрь блока server либо location. Несколько онлайновых инструментов (htaccess-to-nginx) делают такое преобразование сами. WordPress тоже сам подсказывает правила для Nginx в зависимости от вида постоянных ссылок.

Зависит от тарифа. Общий веб-хостинг на Plesk работает по схеме Nginx впереди, Apache позади (стандартная смешанная схема Plesk). Веб-хостинг на cPanel использует LiteSpeed (совместим с Apache, но заметно быстрее). На VPS с Linux вы ставите что угодно: Nginx, Apache, Caddy, LiteSpeed и так далее.

Нет. Благодаря .htaccess Apache остаётся самым распространённым веб-сервером на общем хостинге и продолжает развиваться (Apache 2.4, HTTP/2, MPM event). Nginx правит там, где нужен обратный прокси и очень много одновременных запросов, но оба ещё долго будут жить бок о бок.

Caddy — прекрасная современная замена (настройки минимальны, HTTPS выпускается сам), но в профессиональном хостинге встречается реже. LiteSpeed (и его открытый собрат OpenLiteSpeed) быстрее Apache и полностью совместим с его .htaccess; многие французские хостинги для WordPress берут именно его. Тому, кто хорошо знает свой набор технологий, в 2026 году и Caddy, и LiteSpeed вполне подойдут.

В три шага: 1) поставить Nginx на VPS (apt install nginx) и PHP-FPM (apt install php8.3-fpm); 2) настроить блок server в Nginx с правилами переписывания адресов для WordPress (try_files $uri $uri/ /index.php?$args); 3) проверить, что постоянные ссылки работают, а загрузка файлов проходит (client_max_body_size). На аккуратный переход закладывайте 1-2 часа.