База знаний

Инструкции и ответы на вопросы о хостинге, работе сайтов и приложений

Как устроен хостинг

Обработкой запросов к вашему сайту на хостинге занимаются два веб-сервера в связке – nginx и Apache.

Все запросы изначально принимает фронтенд веб-сервер nginx. Запросы к статическим файлам он обрабатывает самостоятельно, а динамические файлы (например, PHP-скрипты) nginx передает на обработку бекенд веб-серверу Apache.

Базовые и расширенные веб-серверы Apache

Мы предоставляем для каждого аккаунта персональные веб-серверы Apache в базовой и расширенной конфигурациях. На расширенном веб-сервере доступно несколько акселераторов и больший, в сравнении с базовым, объем памяти для их работы. Вы сможете использовать несколько декодеров и утилиту для отладки кода.

Настройки веб-серверов перечислены в таблице:

 БазовыйРасширенный
ВерсияPHP 5.2 – 7.3
NodeJS, Python
PHP 5.2 – 7.3
NodeJS, Python
Оптимизация для 1С-БитриксUTF8, CP1251UTF8, CP1251
Изолирование
Перезапуск
АкселераторыZend OPCacheZend OPCache, xCache
eAccelerator, APC
APC-u, APCu-bc
Память для кеширования, Мб32128–2048
php.iniPHP_INI_PERDIR
PHP_INI_ALL
PHP_INI_PERDIR
PHP_INI_ALL
PHP_INI_SYSTEM
ДекодерыionCube LoaderionCube Loader
ZendGuard
ZendOptimizer
Диагностические утилитыxDebug

Вы можете добавить на аккаунт неограниченное количество базовых веб-серверов и до 4 расширенных с разным объемом памяти. Управлять веб-серверами можно в одноименном разделе Панели управления.

Управление веб-серверами

На аккаунте по умолчанию всегда есть минимум один веб-сервер. Чтобы изменить его версию, выберите нужную в выпадающем списке:


Изменение затронет все сайты, которые обслуживает этот веб-сервер.

Чтобы изменить версию бекенда (PHP 5.2-7.3, 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-запросов, обращение сайта к сторонним ресурсам и т.д.
Была ли эта статья полезной?