Apache HTTP Server (httpd) — свободный веб-сервер, занимавший первое место по распространённости с 1996 по 2019 год. В 2023 году под управлением Apache работает около 23% веб-серверов по данным Netcraft. Apache поддерживает динамические модули, виртуальные хосты и .htaccess для конфигурации на уровне директории.
Как работает Apache
Apache обрабатывает HTTP-запросы через модульную архитектуру: каждая возможность (SSL, rewrite, аутентификация, сжатие) реализована как отдельный модуль (.so файл). Модули загружаются динамически через директиву LoadModule. Это делает Apache гибким, но увеличивает потребление памяти по сравнению с Nginx.
Поддержка .htaccess — ключевая особенность для виртуального хостинга: пользователи управляют конфигурацией без доступа к основному конфигу сервера. Недостаток: Apache читает .htaccess-файл на каждый входящий запрос — на высоконагруженных серверах это снижает производительность до 30%.
MPM (Multi-Processing Modules)
- prefork — каждый запрос в отдельном процессе. Совместим с non-thread-safe PHP (mod_php). Высокое потребление памяти: ~8 МБ на процесс.
- worker — потоки внутри нескольких процессов. Эффективнее по памяти, но требует thread-safe PHP.
- event — асинхронная обработка keep-alive соединений. Наиболее эффективный вариант с PHP-FPM. Рекомендован для Apache 2.4+.
Сравнение Apache и Nginx
| Характеристика | Apache | Nginx |
|---|---|---|
| Конфигурация директорий | .htaccess (на лету) | Только основной конфиг |
| Статические файлы | Медленнее при высокой нагрузке | В 2–10× быстрее |
| PHP | mod_php (встроенный) или PHP-FPM | Только через PHP-FPM |
| Модульность | Сотни модулей | Меньше, но достаточно |
| Shared-хостинг | Доминирует | Редко |
| Reverse proxy | mod_proxy | Нативная роль |
История
Apache создан в 1994–1995 годах группой разработчиков на основе кода NCSA HTTPd Роберта МакКула (Rob McCool). Название — «A Patchy server» — отражает происхождение: набор патчей к NCSA. Версия 1.0 выпущена в декабре 1995 года. С 1996 по 2019 год Apache занимал первое место по распространённости. Apache Software Foundation основана в 1999 году. Версия Apache 2.4 (2012) ввела event MPM. К 2023 году доля Apache составляет около 23% против 34% у Nginx (Netcraft).
Apache в хостинге
Apache доминирует на shared-хостинге именно из-за .htaccess. Большинство CMS (WordPress, Drupal, Joomla) поставляются с готовым .htaccess для Apache. На VPS используют связку Nginx → Apache: Nginx принимает статику и SSL, Apache обрабатывает PHP через mod_rewrite. Управление через cPanel и ISPmanager — преимущественно Apache.
Управление модулями
В Debian/Ubuntu: a2enmod rewrite — включить mod_rewrite, a2dismod status — отключить mod_status. Список активных модулей: apache2ctl -M.