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 и вообще случаев, где свобода настройки для каждого сайта важнее чистой скорости.