Обработкой запросов к вашему сайту на хостинге занимаются два веб-сервера в связке – nginx и Apache.
Все запросы изначально принимает фронтенд веб-сервер nginx. Запросы к статическим файлам он обрабатывает самостоятельно, а динамические файлы (например, PHP-скрипты) nginx передает на обработку бекенд веб-серверу Apache.
Базовые и расширенные веб-серверы Apache
Мы предоставляем для каждого аккаунта персональные веб-серверы Apache в базовой и расширенной конфигурациях. На расширенном веб-сервере доступно несколько акселераторов и больший, в сравнении с базовым, объем памяти для их работы. Вы сможете использовать несколько декодеров и утилиту для отладки кода.
Настройки веб-серверов перечислены в таблице:
Базовый | Расширенный | |
---|---|---|
Версия | PHP 5.2 – 8.3 NodeJS 6 – 14 Python 2.7 – 3.8 | PHP 5.2 – 8.3 NodeJS 6 – 14 Python 2.7 — 3.8 |
Оптимизация для 1С-Битрикс | UTF8, CP1251 | UTF8, CP1251 |
Изолирование | ||
Перезапуск | ||
Акселераторы | Zend OPCache | Zend OPCache, xCache eAccelerator, APC APC-u, APCu-bc |
Память для кеширования, Мб | 32 | 128–2048 |
php.ini | PHP_INI_PERDIR PHP_INI_ALL | PHP_INI_PERDIR PHP_INI_ALL PHP_INI_SYSTEM |
Декодеры | ionCube Loader | ionCube Loader ZendGuard ZendOptimizer |
Диагностические утилиты | – | xDebug |
Вы можете добавить на аккаунт неограниченное количество базовых веб-серверов и до 4 расширенных с разным объемом памяти. Управлять веб-серверами можно в разделе «Сайты» → «Веб-серверы» в Панели управления.
Управление веб-серверами
На аккаунте по умолчанию всегда есть минимум один веб-сервер. Чтобы изменить его версию, выберите нужную в выпадающем списке.
Изменение затронет все сайты, которые находятся на этом веб-сервере.
Чтобы изменить версию бекенда (PHP, Python, Node.JS) для отдельного сайта, перенесите его на другой веб-сервер. Если подходящего веб-сервера на вашем аккаунте пока нет, создайте его, нажав кнопку «Добавить сервер». В открывшемся окне выберите версию бекенда и добавьте на него сайты, кликнув на поле «Подключить сайты»:
А если нужный бекенд уже есть, просто кликните на имя сайта, а затем выберите нужный веб-сервер в выпадающем списке.
Удалить веб-сервер можно, если на нем нет сайтов. Для этого нажмите на иконку ведра
Изоляция веб-серверов
Чтобы скрипты разных сайтов не имели доступ друг к другу, веб-сервер можно изолировать. Это пригодится в случае, если какой-то сайт на аккаунте заражен. Перенесите его на отдельный веб-сервер и включите изолирование – тогда остальные сайты на аккаунте будут защищены.
Настройки веб-сервера PHP
Заметили шестеренку в правом верхнем углу веб-сервера? Нажмите на нее, чтобы открыть окно с настройками:
Любой веб-сервер можно перезапустить по кнопке – это очистит занятую память и может устранить некоторые ошибки в работе сайтов.
На веб-серверах вам доступно подключение акселераторов, настройка для сайтов 1С-Битрикс и редактирование php.ini.
Рассмотрим каждую возможность подробнее.
Акселератор Zend OPCache
Акселераторы — это расширения, которые сохраняют в оперативной памяти скомпилированный код скрипта PHP для быстрого выполнения при следующем вызове. При помощи акселераторов можно значительно ускорить выполнение скриптов PHP и сократить использование ресурсов веб-сервера.
На базовом веб-сервере доступен один акселератор Zend OPCache с 32 Мб памяти, который поддерживает все версии PHP. Подключить акселераторы с большим объемом памяти можно на расширенном веб-сервере.
Оптимизация для 1С-Битрикс
Сайты на 1С-Битрикс требуют специфических настроек веб-сервера. В зависимости от требований вашего сайта выберите одну из кодировок – UTF8 или CP1251:
Необходимые настройки будут установлены автоматически:
default_socket_timeout
mbstring.internal_encoding
mbstring.func_overload
pcre.recursion_limit
memory_limit
display_errors
Настройки для Битрикса могут быть несовместимы с сайтами на других CMS. Если после включения оптимизации вы увидите ошибки на других сайтах этого веб-сервера, переместите их на отдельный бекенд.
Настройка php.ini
php.ini — это конфигурационный файл с настройками PHP-окружения. Изменения в php.ini применяются ко всем сайтам веб-сервера. Чтобы настроить отдельный сайт, используйте файл .htaccess.
Нажмите «Добавить директиву», чтобы начать редактировать php.ini. Не бойтесь допустить ошибку — работает автозаполнение:
Директивы описаны в официальной документации. На базовом веб-сервере вы можете настраивать правила из групп PHP_INI_PERDIR и PHP_INI_ALL, а на расширенном – редактировать php.ini полностью.
Возможности расширенного веб-сервера
На расширенном веб-сервере доступно больше настроек – несколько акселераторов, декодеры и диагностическая утилита:
Память для кеширования
В отличие от базового веб-сервера, где по умолчанию доступно 32 Мб, расширенный обладает большим объемом памяти, который будут использовать акселераторы.
Расширенный веб-сервер, который входит в тариф по умолчанию, имеет фиксированный объем памяти. Если ее недостаточно, подключите еще один расширенный веб-сервер, выбрав нужный объем:
Помимо акселератора Zend OPCache, на расширенном веб-сервере можно подключить xCache, eAccelerator, APC, APC-u, APCu-bc. Определите наиболее эффективный опытным путем, протестировав работу сайта с каждым из них.
Все параметры php.ini
На расширенном веб-сервере вы можете вносить настройки не только в директивы групп PHP_INI_PERDIR или PHP_INI_ALL, но и PHP_INI_SYSTEM. Ознакомьтесь с директивами PHP в официальной документации.
Декодеры и диагностика
На расширенном веб-сервере есть полезные инструменты для разработки сайта:
- Декодеры – ionCube Loader, ZendGuard, ZendOptimizer (только на PHP 5.2). Часто в зашифрованном виде хранится код платных модулей и расширений. Утилиты позволяют производить кодирование/декодирование кода, написанного на PHP.
- Диагностическая утилита xDebug. Пригодится опытным разработчикам для отладки кода сайта. Это ресурсоемкое расширение осуществляет ведение журнала, в который записываются все действия с сайтом от обращения из браузера и до получения готовой страницы – выполнение внутренних скриптов, формирование SQL-запросов, обращение сайта к сторонним ресурсам и т.д.