Под задачу

Хостинг для Python и Node.js: что умеет обычный хостинг и когда нужен VPS

Сайт на Python или Node.js работает на хостинге не так, как сайт на PHP: приложение запускает специальный модуль веб-сервера, а версии и ограничения у каждого хостера свои. Разбираем, что умеют пять российских хостеров, какие версии Python и Node.js ещё получают исправления и в каких случаях проще сразу взять VPS.

Обновлено 03.10.2026≈ 11 мин чтения
Содержание 9

Коротко

  • Python есть почти везде, Node.js — нет. Python заявляют Beget, Спринтхост, Reg.ru и SpaceWeb, у Timeweb инструкции для Python есть в справке. Сайт на Node.js на обычном хостинге запускают только Beget и Спринтхост. У Timeweb Node.js на хостинге работает лишь в консоли, Reg.ru и SpaceWeb его для хостинга не заявляют.
  • Приложение запускает модуль веб-сервера. У Beget это Passenger, у Спринтхоста — uWSGI для Python и Passenger для Node.js, у Timeweb — mod_wsgi.
  • У каждого свои ограничения. У Спринтхоста Node.js-приложения не работают с WebSocket, у Timeweb нельзя разместить ASGI-приложение, у Reg.ru инструкция для Django — только для панели ispmanager, а на тарифе Host-Lite Python нет.
  • Проверьте версию. На 3 октября 2026 года Python 3.10 и более ранние больше не получают исправлений, у Node.js из выпусков с долгой поддержкой остались 22 и 24. А хостеры по умолчанию нередко дают старые версии.
  • Если приложение работает постоянно — берите VPS. WebSocket, фоновые задачи, бот на опросе сервера, своя база или Docker — это работа для своего сервера. Промежуточный вариант — платформа приложений: код из git-репозитория, а сервер настраивает провайдер.
На сайте есть партнёрские ссылки на Timeweb, Timeweb Cloud и Beget: если вы оплатите услугу после перехода по ним, провайдер заплатит нам процент. Для вас цена от этого не меняется. Остальные провайдеры идут без партнёрских ссылок. Условия сверены с сайтами провайдеров 3 октября 2026 года, если рядом не указана другая дата.

Чем такой сайт отличается от сайта на PHP

Сайт на PHP устроен просто: на каждый запрос веб-сервер выполняет скрипт, отдаёт страницу и забывает о нём. Приложение на Python или Node.js — это программа, которая запускается один раз и дальше сама отвечает на запросы. На VPS вы запускаете её сами. На обычном хостинге постоянно работающие программы, как правило, держать не дают, поэтому приложение запускает и перезапускает модуль веб-сервера:

  • Passenger (Phusion Passenger) — запускает приложения на Python и Node.js. Так устроено у Beget, а у Спринтхоста — для Node.js.
  • uWSGI — сервер для Python-приложений. Им пользуется Спринтхост.
  • mod_wsgi — модуль веб-сервера Apache для Python. Так работает Django у Timeweb.

Python-приложение подключается к веб-серверу по стандарту WSGI: пришёл запрос — ушёл ответ. Есть и асинхронный стандарт ASGI: он нужен, например, для WebSocket, и на нём работает фреймворк FastAPI. На хостинге ASGI встречается редко — у Timeweb справка прямо пишет, что такое приложение там не разместить.

Ещё одно отличие — перезапуск. Новый код приложение само не подхватит. У Beget, а у Спринтхоста для Node.js, для перезапуска создают файл tmp/restart.txt, у Reg.ru — файл .restart-app в корне сайта, который после перезапуска удаляется сам.

Что умеет обычный хостинг

Версии и способы запуска — из справки и с сайтов хостеров на 3 октября 2026 года:

ХостерPythonNode.jsКак запускаетсяОграничения
Beget2.7, 3.6 и 3.7 на большинстве серверов, другую версию можно собрать самомуСтавите сами: до 24.15.0 на серверах с Ubuntu 22.04, до 17.9.1 — на 18.04Passenger; приложения ставят по SSH внутри Docker-окруженияТолько 64-битные сборки; для Python 3.10 и новее сначала нужно собрать свежий OpenSSL
Спринтхост3.13, 3.11, 3.10, 3.8, 3.7, 3.6 и 2.7 — выбор в панели22, 14, 12, 10, 8 и 6 — выбор в панелиPython — uWSGI, Node.js — PassengerВ Node.js-приложениях WebSocket не работает, справка советует эмуляцию долгими запросами (long polling)
Timeweb3.10 на серверах с Ubuntu 22.04, 3.6 и 2.7 — на 18.04Только в консоли: сайт или службу на Node.js не запуститьmod_wsgiТолько WSGI, ASGI не разместить; сменить Ubuntu — переносом на другой сервер через поддержку
Reg.ru2.7–3.14, кроме тарифа Host-LiteНа странице хостинга нетФайл passenger_wsgi.py в корне сайтаИнструкция для Django — только для панели ispmanager; на Host-Lite нет Python и доступа по FTP, SSH и SFTP
SpaceWebЗаявлен, версии не названыДля хостинга не заявлен, есть VPS с Node.jsВ справке мы не нашлиВерсию Python уточните у поддержки до оплаты

Подробности по каждому:

  • Beget. Приложения ставят внутри Docker-окружения: сначала заходят в аккаунт по SSH, затем в само окружение. Сайты изолированы друг от друга, поэтому к папке .local, куда ставятся пакеты и Node.js, нужно открыть общий доступ в файловом менеджере. Статьи про Python и про Node.js разбирают Django и Nuxt.js. Для серверов с Ubuntu 18.04 Beget собрал Node.js 18–21 сам и отдаёт их как есть, без гарантий.
  • Спринтхост. Версию Python или Node.js выбирают в панели, в разделе «Сайты» → «Веб-серверы». Справка по Python и Node.js требует доступа по SSH, для Python — ещё и виртуального окружения. Есть инструкции по Django и Flask.
  • Timeweb. Django можно поставить автоматически через раздел «Установка CMS» или вручную (справка). Директивы mod_wsgi в .htaccess не работают — окружение подключают в самом WSGI-скрипте. Python 3.10 с mod_wsgi может очень медленно работать с базой SQLite — Timeweb советует pysqlite3 или MySQL. Для Node.js-службы справка (Node.js и npm) сама предлагает виртуальный сервер.
  • Reg.ru. По инструкции для Django в настройках сайта включают CGI-скрипты и Python и выбирают версию, а виртуальное окружение создают по SSH. Домен должен быть привязан к хостингу, для автоподдоменов инструкция не подходит.
  • SpaceWeb. В характеристиках хостинга на всех тарифах есть SSH и поддержка Perl, Python и Ruby, но версии Python не названы, а Node.js в списке нет.

Какие версии ещё получают исправления

Версия, у которой закончилась поддержка, больше не получает исправлений — в том числе закрывающих уязвимости. На 3 октября 2026 года так:

ЯзыкПоддерживаютсяПоддержка закончилась
Python3.14 — до октября 2030 года, 3.13 — до октября 2029-го, 3.12 — до октября 2028-го, 3.11 — до октября 2027-го. У 3.11–3.13 — только исправления безопасности3.10 — с 1 октября 2026 года, 3.9 и все более ранние, включая 2.7
Node.js24 и 22 — выпуски с долгой поддержкой (LTS), 26 — текущий выпуск20 и все более ранние, а также 21, 23 и 25

Для рабочих приложений разработчики Node.js советуют только выпуски LTS. Что это значит на хостинге:

  • у Timeweb на серверах с Ubuntu 22.04 справка называет Python 3.10 — его поддержка закончилась 1 октября 2026 года, на серверах с 18.04 — ещё более старые 3.6 и 2.7;
  • у Beget в окружении на большинстве серверов есть только Python 2.7, 3.6 и 3.7 — поддерживаемую версию придётся собрать самому;
  • у Спринтхоста в консоли по умолчанию запускается Node.js 14, поэтому версию 22 нужно выбирать явно;
  • у Beget Node.js 22 и 24 доступны только на серверах с Ubuntu 22.04.

Сама Ubuntu 18.04 перестала получать обычные обновления безопасности в мае 2023 года. Если вам достался сервер с этой версией, спросите поддержку о переносе: у Timeweb сменить Ubuntu можно переносом аккаунта на другой сервер через поддержку.

Платформа приложений Timeweb Cloud

Если хостинга мало, а настраивать VPS не хочется, есть промежуточный вариант — платформа приложений Timeweb Cloud. Вы подключаете git-репозиторий, платформа сама определяет язык и фреймворк, собирает приложение и запускает бэкенд в Docker-контейнере, а Nginx настраивает сама. После нового коммита приложение пересобирается — автодеплой можно выключить.

  • Версии. Python 3.10–3.14 и Node.js 20, 22 и 24 — выбирают при создании приложения. Python 3.10 и Node.js 20 уже без поддержки, берите версии новее.
  • Что запустить. В документации есть инструкции для Django, Flask, FastAPI, Celery, Tornado, aiohttp, Express, Fastify, Hapi и Nest, а также деплой из Dockerfile и Docker Compose.
  • Файлы не сохраняются. Каждый деплой — новый контейнер, данные прежнего стираются. Загрузки пользователей держат в S3-хранилище, базу — в облачной базе данных или на отдельном сервере. FTP нет, сетевой диск не примонтировать.
  • SSL. На техническом домене — бесплатный сертификат Let's Encrypt. Свой домен подключить можно, а вот установить собственный или платный SSL-сертификат нельзя.
  • Цена. Бэкенд разворачивается на отдельных облачных серверах: готовый тариф или своя конфигурация. Цен бэкенд-конфигураций в документации мы не нашли — смотрите при создании приложения. Фронтенд (статика без контейнера) оплачивается за запросы: 0,000495 ₽ за запрос, или 4,95 ₽ за 10 000 запросов. Деньги списываются каждый час, а когда они кончаются, приложение останавливается. На странице услуги — «От 1 ₽».

Когда нужен VPS

Хостинг рассчитан на сайты, которые отвечают на запросы и ничего не делают между ними. Берите VPS, если:

  • нужен WebSocket — чат или уведомления в реальном времени;
  • приложение написано на FastAPI или другом ASGI-фреймворке;
  • есть фоновые задачи: очередь Celery, рассылки, обработка файлов;
  • телеграм-бот опрашивает сервер Telegram сам — подробно в статье VPS для телеграм-бота;
  • нужны своя PostgreSQL, Redis или Docker;
  • нужна версия Python или Node.js, которой у хостера нет.

Как поставить приложение за nginx и запустить его как службу, мы разобрали в инструкции Как разместить сайт на VPS. Какой сервер нужен разработчику и как настроить на нём Docker — в статье VPS для разработчика, цены серверов — в рейтинге VPS. У SpaceWeb есть VPS с готовым Node.js на Ubuntu 24.04 и бесплатным тестовым периодом на 3 дня.

Что выбрать

Это наше мнение, а не требование хостеров. Простому сайту на Django или Flask без WebSocket и фоновых задач хватит обычного хостинга. Удобнее всего там, где свежую версию Python выбирают в настройках, — у Спринтхоста и у Reg.ru с панелью ispmanager. Сайт на Node.js на обычном хостинге запустят только Beget и Спринтхост, а если нужен WebSocket — сразу смотрите VPS. Если приложение уже собрано в Docker, а администрировать сервер не хочется, попробуйте платформу приложений. Всё, что работает постоянно, — боты, очереди, WebSocket — ставьте на VPS.

Что проверить перед оплатой

  1. Версия. Есть ли поддерживаемая версия: Python 3.11 или новее, Node.js 22 или 24.
  2. Способ запуска. Passenger, uWSGI или mod_wsgi — и запустится ли ваше приложение, если оно на ASGI.
  3. SSH на тарифе. Виртуальное окружение и пакеты ставят по SSH. У Reg.ru на тарифе Host-Lite его нет.
  4. WebSocket. Если он нужен, спросите поддержку до оплаты: у Спринтхоста Node.js-приложения с ним не работают.
  5. Версия Ubuntu на сервере. У Timeweb и Beget от неё зависят доступные версии Python и Node.js.
  6. Перезапуск. Как применить новый код без обращения в поддержку.
  7. Тестовый период. Если он есть, разверните приложение до оплаты: «Python поддерживается» ещё не значит, что запустится ваш проект.

Что почитать дальше

Условия меняются. Справка и сайты Beget, Спринтхоста, Timeweb, Timeweb Cloud, Reg.ru и SpaceWeb сверены 3 октября 2026 года, статусы версий — с официальными сайтами Python и Node.js в тот же день, график поддержки Ubuntu — 2 октября. Перед оплатой откройте справку хостера: если она разошлась с нашей таблицей, верьте провайдеру.

Проверено и обновлено: 03.10.2026