Зачем ставить Nginx перед Apache
По умолчанию ISPmanager 6 умеет работать с Nginx как самостоятельным веб-сервером или с классической связкой Nginx + Apache. В связке Nginx принимает все запросы на 80 и 443 порты, отдаёт статику напрямую и передаёт динамические запросы на Apache через локальный порт. Это снижает нагрузку на процессор при высоком трафике и ускоряет отдачу картинок, CSS и JS.
Связка полезна для сайтов на устаревшем коде, который завязан на директивы Apache вроде .htaccess с mod_rewrite сложной логики. Если сайт написан под чистый Nginx, отдельный Apache не нужен — подробности о создании сайта смотрите в инструкции по созданию сайта в ISPmanager 6.
Чем связка отличается от чистого Nginx
Разница проявляется в обработке запросов и в наборе поддерживаемых директив.
| Критерий | Только Nginx | Nginx + Apache |
|---|---|---|
| Скорость статики | максимальная | высокая |
| Поддержка .htaccess | нет | да |
| Расход памяти | низкий | средний |
| Совместимость со старым PHP-кодом | ограниченная | полная |
Для новых проектов на современных фреймворках чаще хватает одного Nginx. Для унаследованных сайтов на старых CMS связка снимает риск поломки после переноса.
Как включить связку в ISPmanager 6
Веб-сервер назначается при создании сайта или меняется в его настройках.
- Откройте раздел «Домены» и выберите нужный сайт.
- В настройках сайта переключите веб-сервер на вариант «Nginx + Apache».
- Сохраните изменения и дождитесь применения конфигурации.
Панель сама пропишет проксирование в конфиг Nginx и поднимет отдельный инстанс Apache на внутреннем порту без внешнего доступа.
Как проверить конфигурацию после переключения
После смены веб-сервера стоит убедиться, что оба процесса запущены и слушают нужные порты:
systemctl status nginx apache2
ss -tlnp | grep -E '80|443|8080'
Если Apache не отвечает, проверьте синтаксис его конфигурации отдельно от Nginx:
apache2ctl configtest
nginx -t
Обе команды должны вернуть «Syntax OK» без ошибок, иначе панель откатит последнее изменение сайта.
Как настроить проксирование для тяжёлых запросов
Для сайтов с загрузкой больших файлов или долгими PHP-скриптами таймауты по умолчанию иногда малы. В настройках сайта в ISPmanager 6 можно увеличить таймаут прокси и лимит тела запроса, чтобы Nginx не обрывал соединение раньше, чем ответит Apache.
Если после увеличения лимитов запросы всё ещё обрываются, проверьте логи обоих серверов — инструкция по их чтению есть в статье логи и диагностика ошибок в ISPmanager 6.
Когда связка избыточна
Не каждому сайту нужна эта конфигурация.
- Статический сайт или SPA без бэкенда — Apache там не задействован вообще.
- Современный PHP-фреймворк с чистыми правилами маршрутизации в конфиге, а не в .htaccess.
- Сервер с ограниченной памятью, где каждый лишний процесс Apache заметен.
В этих случаях один Nginx с PHP-FPM работает быстрее и проще в обслуживании.
Итог: что выбрать для своего сайта
Связка Nginx + Apache — не значение по умолчанию, а инструмент под конкретную задачу. Берите её для сайтов со сложным .htaccess и легаси-кодом, оставляйте чистый Nginx для новых проектов. После переключения веб-сервера всегда проверяйте оба конфига командами nginx -t и apache2ctl configtest, а при сомнениях сверяйтесь с логами сайта.