Веб-серверы в ispmanager
Веб-сервер обслуживает запросы к сайтам и веб-приложениям на сервере и возвращает запрошенные страницы клиенту.
Запросы к панели ispmanager обслуживает встроенный веб-сервер ihttpd. Запросы к сайтам — серверы:
- Apache
- Nginx
- Связка Apache + Nginx
- OpenLiteSpeed
- LiteSpeed (коммерческий веб-сервер)
Статические и динамические запросы
Статическое содержимое сайтов хранится на сервере в виде файлов (HTML, CSS, JS, изображения) и передается клиенту неизменном виде. Динамическое содержимое генерируется перед отправкой путем выполнения кода и с обращением к базам данных, внешним API и другим источникам данных. Примеры динамически генерируемого содержимого: ленты в соцсетях, результаты поиска, корзины покупок.
Веб-серверы обрабатывают запросы статического содержимого, а выполнение кода для генерации динамического содержимого делегируют одному из обработчиков:
Обработка запросов
В общем виде обработка запросов к сайтам происходит следующим образом:
- Веб-сервер принимает и анализирует запрос от клиента.
- Веб-сервер обрабатывает запрос:
- Если запрашивается статическое содержимое, файл сразу отправляется клиенту.
- Если запрашивается динамическое содержимое, запрос передается обработчику. Обработчик выполняет код и отправляет сгенерированный файл веб-серверу. Веб-сервер отправляет запрошенную страницу клиенту.
- Веб-сервер завершает соединение с клиентом.
Выбор веб-сервера
Выбор веб-сервера зависит от многих факторов:
- нагруженности сайта — благодаря асинхронной архитектуре, Nginx, OpenLiteSpeed и LiteSpeed могут обрабатывать большее количество одновременных запросов, чем Apache
- количества статического содержимого на сайте — благодаря функциям кеширования и сжатия, Nginx, OpenLiteSpeed и LiteSpeed лучше справляются с большим количеством статического содержимого, чем Apache
- вида хостинга — для виртуального (shared) хостинга больше подходит Apache, т. к. позволяет вносить настройки на уровне отдельного виртуального хоста с помощью файлов .htaccess
- количества ресурсов сервера — Nginx, OpenLiteSpeed и LiteSpeed потребляют меньше CPU и RAM и менее требовательны к ресурсам при масштабировании
- языка, на котором написан сайт — для Python и JavaScript нужен Nginx или связка Apache + Nginx
- соображений совместимости с кодом сайта — некоторые сайты требуют поддержки определенных модулей Apache
- потребности в дополнительных возможностях
Веб-серверы Nginx и Apache рекомендуется использовать вместе.
Дополнительные возможности для веб-серверов
✅ — возможность настраивается через панель или доступна для веб-сервера по умолчанию
«Только настройка вручную» — возможность настраивается путем редактирования конфигурационных файлов/подключения дополнительных модулей
❌ — возможность не поддерживается
Возможность | Apache | Nginx | OpenLiteSpeed | LiteSpeed |
---|---|---|---|---|
Анализатор журналов awstats | ✅ | ✅ | ✅ | ✅ |
Веб-диск | ✅ | ❌ | ❌ | ✅ |
Доступ к панели по домену | ✅ | только настройка вручную | ||
Защита от DDos | только настройка вручную | ✅ | ✅ | только настройка вручную |
Кеширование статического контента для сайта | только настройка вручную | ✅ | ✅ | только настройка вручную |
Ротация логов | ✅ | ✅ | ✅ | ✅ |
Сжатие статического контента для сайта | только настройка вручную | ✅ | ✅ | только настройка вручную |
CGI-скрипты | ✅ | ✅ | ❌ | ✅ |
HTTP/2 | ❌ | ✅ | ✅ | ✅ |
Node.js | ❌ | ✅ | ❌ | ❌ |
open_basedir | для режима работы PHP модуль Apache | ❌ | ❌ | ✅ |
PageSpeed | ✅ | ✅ | ✅ | ❌ |
PHP Composer | ✅ | ✅ | ✅ | ✅ |
WAF | ✅ | ✅ | ✅ | ✅ |
Python | ❌ | ✅ | ❌ | ❌ |
SSI | ✅ | ✅ | ❌ | ✅ |
webalizer | ✅ | ✅ | ✅ | ✅ |
.htaccess | ✅ | ❌ | только директивы mod_rewrite | ✅ |
Конфигурационные файлы веб-серверов
Настройки панели, связанные с работой веб-сервера, вносятся в:
- конфигурационный файл /usr/local/mgr5/etc/ispmgr.conf
- конфигурационные файлы в директории /usr/local/mgr5/etc/ispmgr.conf.d/
Настройки веб-сервера содержатся в:
глобальном конфигурационном файле
ПодробнееВеб-сервер Конфигурационный файл Apache - Debian-подобные ОС:
/etc/apache2/apache2.conf
- RHEL-подобные ОС:
/etc/httpd/httpd.conf
Nginx /etc/nginx/nginx.conf
OpenLiteSpeed /usr/local/lsws/conf/httpd_config.conf
- Debian-подобные ОС:
- конфигурационных файлах сайтов
- конфигурационных файлах дополнительных возможностей
Если используются Apache и Nginx, для сайта создается два конфигурационных файла — для Apache и Nginx.
Настройка конфигурации сайтов вручную
Конфигурационные файлы сайтов и дополнительных возможностей генерируются при создании и редактировании сайта автоматически на основе шаблонов.
Чтобы добавить собственные настройки к конфигурации отдельного сайта, отредактируйте конфигурационный файл этого сайта.
Чтобы добавить собственные настройки к конфигурации всех сайтов на сервере с ispmanager, отредактируйте шаблоны конфигурационных файлов сайтов.
Редактирование конфигурационных файлов и шаблонов конфигурационных файлов сайтов доступно учетной записи с правами суперпользователя.
Если ручные правки были внесены через командную строку, перезагрузите веб-сервер.
systemctl restart apache2
systemctl restart httpd
systemctl restart nginx
systemctl restart lsws
Если правки вносились через веб-интерфейс панели, перезагрузка не требуется.