Коротко
- Для большинства PHP-сайтов выбор Nginx против Apache двигает производительность меньше, чем слои вокруг: PHP-FPM, OPcache и полностраничный кэш.
- Настоящее архитектурное различие — это конкурентность. Цикл событий Nginx дёшево держит тысячи простаивающих соединений; процессно-поточная модель Apache при той же нагрузке тратит больше памяти.
- Запускайте PHP через PHP-FPM на любом сервере.
mod_phpпривязывает интерпретатор PHP к каждому процессу Apache и это самая большая legacy-ошибка производительности. - «Nginx перед Apache» — реальный паттерн, а не отговорка: Nginx терминирует TLS и отдаёт статику, Apache сохраняет совместимость с
.htaccessдля приложения.
Раз в несколько месяцев меня спрашивают, не стоит ли «перейти на Nginx, чтобы сайт стал быстрее», и честный ответ обычно — нет: не потому что Nginx медленный, а потому что веб-сервер редко там, куда уходит их время. Я видел, как сайт срезал время ответа вдвое, включив OPcache и полностраничный кэш, оставшись на том же самом Apache, с которого начинал. Серверное ПО никогда не было узким местом.
Так что это не статья «кто победит», потому что в такой постановке вопрос почти не важен. Она о том, откуда на самом деле берётся производительность веб-сервера, что реально различается между Nginx и Apache и как выбирать, не превращая это в решение про бренд.
Различие, которое реально: конкурентность
Apache и Nginx обрабатывают соединения принципиально разными моделями, и это единственное место, где выбор имеет реальные последствия для производительности.
Apache в типичных конфигурациях отображает соединения на процессы или потоки. Под нагрузкой со множеством медленных или простаивающих клиентов — мобильные сети, keep-alive-соединения, долгие загрузки — каждый занимает воркер, и потребление памяти растёт с конкурентностью. Nginx использует событийно-ориентированный цикл: небольшой фиксированный набор воркер-процессов мультиплексирует тысячи соединений, а простаивающие почти ничего не стоят. Поэтому Nginx блистает как обратный прокси и при высокой конкурентности, и поэтому стал дефолтом перед API и CDN.
Для сайта, обслуживающего несколько сотен одновременных пользователей, оба комфортно быстры. Различие проявляется на хвосте — высокая конкурентность, много простаивающих соединений — а не в медианном запросе.
Слой, который важнее: как работает PHP
mod_php — это legacy-ошибка
Старый дефолт Apache встраивает интерпретатор PHP в каждый процесс Apache, поэтому каждый несёт память PHP даже при отдаче статического файла. Запускайте PHP через PHP-FPM — отдельный, настраиваемый пул PHP-воркеров, с которым и Apache, и Nginx общаются по FastCGI. Одно это изменение обычно даёт пропускной способности больше, чем смена веб-сервера.
Когда PHP-FPM на месте, рычаги, реально двигающие производительность, в основном вообще не веб-сервер:
OPcache
Кэширует скомпилированный байткод PHP в памяти. Часто крупнейший единичный выигрыш, и часто выключен.
Полностраничный кэш
Отдача закэшированного HTML-ответа полностью минует PHP и базу — крупнейший выигрыш для контентных сайтов.
Объектный кэш
Redis или Memcached срезают повторные запросы к базе на динамических страницах.
Тюнинг пула FPM
Подберите число воркеров под вашу RAM, чтобы не голодать и не свопиться под нагрузкой.
Для WordPress-сайта в частности полностраничный кэш (FastCGI-кэш на Nginx или плагин кэширования вроде LiteSpeed, либо за Varnish) — это разница между пересборкой каждой страницы из PHP и базы на каждый хит и отдачей статического файла за микросекунды. Это решение затмевает выбор Nginx против Apache.
Где Apache всё ещё оправдывает место: .htaccess
Подиректорные файлы .htaccess Apache — это одновременно его суперсила совместимости и тихая цена производительности. Они позволяют плагину, фреймворку или пользователю шаред-хостинга менять правила переписывания и доступа, не трогая центральный конфиг — именно поэтому так много экосистемы WordPress и legacy-PHP их подразумевает. Цена в том, что Apache проверяет наличие файлов .htaccess на каждый запрос вдоль пути. У Nginx эквивалента нет; его правила живут в одном центральном конфиге, что быстрее, но означает, что изменения требуют перезагрузки и доступа к серверу.
Если ваше приложение или хостинг зависит от .htaccess, эта зависимость — реальная причина оставить Apache в стеке, а не провал модернизации.
Nginx перед Apache: прагматичный гибрид
Выбирать не обязательно. Распространённая продакшен-форма ставит Nginx на край, а Apache за ним: Nginx терминирует TLS, отдаёт статические ассеты напрямую и обратным прокси шлёт динамические запросы Apache, который запускает приложение с нетронутой совместимостью .htaccess. Вы получаете обработку соединений и скорость статики Nginx спереди и совместимость экосистемы Apache сзади. Многие managed-хостинги WordPress запускают нечто подобное, не рекламируя это.
Практический способ выбрать
Смена сервера ради скорости
Перед сменой веб-сервера убедитесь, что OPcache, полностраничный кэш и PHP-FPM на месте. Обычно они важнее.
Запуск mod_php в 2026
Встраивание PHP в процессы Apache тратит память на каждый запрос. Переходите на PHP-FPM независимо от того, какой сервер оставляете.
Нет полностраничного кэша на контентном сайте
Пересборка каждой страницы из PHP и базы на каждый хит — самое частое устранимое узкое место.
Тюнинг не того слоя
Ручной тюнинг директив воркеров, пока база делает неиндексированные полные сканы, оптимизирует часть, которая не была медленной.
Если коротко: берите Nginx, когда нагрузка высококонкурентная, прокси-ориентированная или API-driven, и когда вы управляете конфигом сервера. Оставляйте Apache, когда зависите от .htaccess, работаете на шаред-хостинге или ваша команда уже хорошо им оперирует. А потом тратьте реальные силы на кэширование, PHP-FPM и базу — вот где выигрыши.
FAQ
- Nginx быстрее Apache?
- Для высококонкурентных и прокси-нагрузок событийная модель Nginx тратит меньше памяти и эффективнее держит простаивающие соединения. Для типичного трафика оба быстры, а OPcache, полностраничный кэш и PHP-FPM влияют на реальную производительность куда сильнее, чем выбор между ними.
- Использовать mod_php или PHP-FPM?
- PHP-FPM почти во всех случаях. Он запускает PHP в отдельном, настраиваемом пуле воркеров, который и Apache, и Nginx используют по FastCGI, вместо встраивания интерпретатора в каждый процесс веб-сервера. Переход с
mod_phpна PHP-FPM обычно улучшает пропускную способность сильнее, чем смена веб-сервера. - Какой самый большой выигрыш производительности для WordPress-сайта?
- Полностраничный кэш. Отдача закэшированного HTML-ответа полностью минует PHP и базу, превращая многозапросную сборку страницы в чтение статического файла. После этого OPcache и объектный кэш Redis — следующие крупнейшие выигрыши, и все они не зависят от того, Nginx у вас или Apache.
- Можно ли запускать Nginx и Apache вместе?
- Да, и это распространённый паттерн. Nginx стоит на краю, терминируя TLS и отдавая статику, затем обратным прокси шлёт динамические запросы Apache, который запускает приложение и сохраняет поддержку
.htaccess. Вы получаете обработку соединений Nginx с совместимостью Apache.
Похожие статьи
- Docker и WordPress: как контейнеры упрощают разработку — упрощает бенчмаркинг этих серверных вариантов в воспроизводимом стеке.
- WordPress Bedrock с Docker локально и чистым PHP в продакшене — про полностраничный кэш LiteSpeed и деплой на реальном шаред-хостинге.




