Хостинг для Python и Node.js: что умеет обычный хостинг и когда нужен VPS
Сайт на Python или Node.js работает на хостинге не так, как сайт на PHP: приложение запускает специальный модуль веб-сервера, а версии и ограничения у каждого хостера свои. Разбираем, что умеют пять российских хостеров, какие версии Python и Node.js ещё получают исправления и в каких случаях проще сразу взять VPS.
Содержание 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-репозитория, а сервер настраивает провайдер.
Чем такой сайт отличается от сайта на 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 года:
| Хостер | Python | Node.js | Как запускается | Ограничения |
|---|---|---|---|---|
| Beget | 2.7, 3.6 и 3.7 на большинстве серверов, другую версию можно собрать самому | Ставите сами: до 24.15.0 на серверах с Ubuntu 22.04, до 17.9.1 — на 18.04 | Passenger; приложения ставят по 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) |
| Timeweb | 3.10 на серверах с Ubuntu 22.04, 3.6 и 2.7 — на 18.04 | Только в консоли: сайт или службу на Node.js не запустить | mod_wsgi | Только WSGI, ASGI не разместить; сменить Ubuntu — переносом на другой сервер через поддержку |
| Reg.ru | 2.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 года так:
| Язык | Поддерживаются | Поддержка закончилась |
|---|---|---|
| Python | 3.14 — до октября 2030 года, 3.13 — до октября 2029-го, 3.12 — до октября 2028-го, 3.11 — до октября 2027-го. У 3.11–3.13 — только исправления безопасности | 3.10 — с 1 октября 2026 года, 3.9 и все более ранние, включая 2.7 |
| Node.js | 24 и 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.
Что проверить перед оплатой
- Версия. Есть ли поддерживаемая версия: Python 3.11 или новее, Node.js 22 или 24.
- Способ запуска. Passenger, uWSGI или mod_wsgi — и запустится ли ваше приложение, если оно на ASGI.
- SSH на тарифе. Виртуальное окружение и пакеты ставят по SSH. У Reg.ru на тарифе Host-Lite его нет.
- WebSocket. Если он нужен, спросите поддержку до оплаты: у Спринтхоста Node.js-приложения с ним не работают.
- Версия Ubuntu на сервере. У Timeweb и Beget от неё зависят доступные версии Python и Node.js.
- Перезапуск. Как применить новый код без обращения в поддержку.
- Тестовый период. Если он есть, разверните приложение до оплаты: «Python поддерживается» ещё не значит, что запустится ваш проект.
Что почитать дальше
- VPS для разработчика — сколько ресурсов нужно, Docker на сервере и работа с кодом через VS Code.
- Как разместить сайт на VPS — nginx с нуля, SSL и приложение на Node.js или Python за nginx.
- VPS для телеграм-бота — какой сервер нужен боту и сколько он стоит.
- Рейтинг VPS 2026 — семь провайдеров и подвохи каждого.
- Какой хостинг выбрать — пять вопросов перед оплатой.
Проверено и обновлено: 03.10.2026