Один сервер, много сайтов
Виртуальный, он же общий, хостинг означает, что на одном физическом или виртуальном сервере размещены сайты многих клиентов. Все они работают под управлением одной операционной системы и одного веб-сервера, а провайдер администрирует систему за вас.
Клиент получает место на диске, доступ по FTP или SFTP, панель управления, почту и базу данных. Права суперпользователя не выдаются, устанавливать произвольные службы нельзя.
Поэтому перенос сайта на другой хостинг обычно сводится к копированию файлов и выгрузке базы данных, а затем смене адреса в DNS.
Технически один процесс веб-сервера обслуживает много сайтов одновременно, а границы между ними задаются настройками виртуальных хостов, правами файловой системы и лимитами на уровне аккаунта.
Как разделяются клиенты
Веб-сервер по имени в заголовке запроса определяет, какому сайту отвечать. Это называют name-based virtual host: несколько доменов используют один IP-адрес, а нужный сайт выбирается по заголовку Host или по SNI при HTTPS. Подробнее о SNI написано в отдельной статье.
Изоляция достигается запуском процессов от имени разных системных пользователей и ограничением прав на файлы. Панель управления вводит лимиты на процессор, память, число процессов и входящих соединений для каждого аккаунта.
Для HTTPS на общем IP-адресе используют расширение SNI: клиент передаёт имя сайта до начала шифрования, и сервер выбирает нужный сертификат. Старые клиенты без такой поддержки сегодня встречаются редко.
Что можно и что нельзя
Обычно доступны PHP или другой поддерживаемый язык, базы данных MySQL или PostgreSQL, планировщик заданий cron с ограничениями, почтовые ящики, автоматическая установка популярных систем управления сайтами и автоматически выпускаемые сертификаты. Недоступны собственные демоны, нестандартные порты для входящих подключений и настройка ядра.
Для типичных задач вроде сайта-визитки, блога или небольшого интернет-магазина этого достаточно.
К этому добавляются ограничения на размер загружаемых файлов, время выполнения скриптов, число писем в час и количество одновременных подключений к базе данных, которые нельзя снять без смены вида размещения.
Где начинаются проблемы
Ресурсы общие, поэтому соседи могут влиять на скорость: при всплеске нагрузки страдают все. Провайдер использует лимиты, и при превышении сайт замедляется или временно блокируется. Сайты на одном IP разделяют репутацию: если сосед рассылает спам, адрес может попасть в списки, что отражается на доставке почты.
Признак того, что хостинга не хватает: постоянные ошибки 503, обрывы длинных скриптов, упирание в лимиты и невозможность поставить нужную программу. Тогда переходят на VPS.
Дополнительный риск общей платформы — заражение соседнего аккаунта, при неверных правах доступа способное затронуть и ваши файлы, поэтому права на каталоги нужно выставлять аккуратно.
Как посмотреть и оценить
В панели хостинга откройте раздел статистики ресурсов: там видно потребление процессора и памяти. Сравнение времени отклика в разные часы суток укажет на влияние соседей. Заблуждение: общий хостинг подходит только для «слабых» проектов. Небольшой сайт с кэшированием на нём работает надёжно. Другое заблуждение — что резервные копии всегда делаются провайдером. Проверьте, как часто они создаются и как восстанавливаются, а лучше храните собственные копии.
Если сайт растёт, перенос на VPS проходит без переработки: файлы и база данных копируются, после чего остаётся настроить веб-сервер и переключить адрес в DNS.
Панель управления и типовые задачи
Управление хостингом ведётся через веб-панель, самые известные из которых cPanel, ISPmanager и Plesk. В ней создают сайты и поддомены, привязывают домены, управляют DNS-записями, почтовыми ящиками, базами данных и сертификатами. Файлы загружают через файловый менеджер или по SFTP.
Для популярных систем управления содержимым предусмотрены установщики в один клик. Важно после установки сменить стандартные настройки, обновить движок и плагины: устаревшие расширения — главная причина взломов небольших сайтов.
Также в панели включается нужная версия PHP. Новые версии быстрее и получают исправления безопасности, а старые перестают поддерживаться, поэтому периодически проверяйте, что сайт работает на актуальной.