Главная/Python
Python на VPS
Приложение на Python на VPS запускают не командой в терминале, а службой systemd: она поднимает процесс при старте сервера и перезапускает после сбоя. Снаружи ставят Nginx, который держит сертификат и отдаёт статику.
Ответ за 30 секунд
Схема без неожиданностей: systemd держит процесс, Nginx принимает запросы. Число рабочих процессов упирается в память, а не в ядра: каждый несёт свою копию кода и загруженных библиотек.
Полная виртуализация, свои версии языка и библиотек, оплата по часам на время проверки.
Как запускать ваше приложениеsystemdавтозапуск и перезапуск
2n+1процессов по числу ядер
venvокружение проекта
01 · 1 мин
Из каких частей состоит запуск#
Рабочая установка состоит из четырёх частей, и каждая отвечает за своё.
| Часть | Зачем |
|---|---|
| Виртуальное окружение проекта | Библиотеки проекта не смешиваются с системными |
| Gunicorn или uvicorn | Держит рабочие процессы приложения |
| Служба systemd | Автозапуск, перезапуск после падения, журнал |
| Nginx снаружи | Сертификат, статика, ограничение частоты запросов |
Два правила, которые экономят вечер отладки. Первое: приложение слушает локальный адрес, а не все интерфейсы, тогда к нему нельзя обратиться минуя Nginx. Второе: в системный интерпретатор ничего не ставят, иначе обновление системы ломает проект. Остальное про внешнюю часть собрано в Nginx на VPS.
02 · 1 мин
Сколько рабочих процессов держать#
Отправная точка для синхронных приложений это удвоенное число ядер плюс один. Дальше считают память.
- Каждый процесс несёт свою копию. Код, библиотеки, подключения к базе. Для Django это обычно 80-200 МБ, для проекта с тяжёлыми библиотеками больше.
- Асинхронное приложение считается иначе. Один процесс держит тысячи соединений, и число процессов равно числу ядер, не больше.
- Лимит ставится явно. Иначе при всплеске память кончится, и система начнёт убивать процессы: сколько памяти нужно.
- Ядра важнее не количеством, а частотой. Для одного запроса работает один процесс: ядра и частота.
Проверка простая: запустите приложение, посмотрите фактический вес одного процесса, умножьте на желаемое число и сравните с памятью тарифа за вычетом базы и системы. Если база на том же сервере, её расчёт отдельный: база данных на VPS.
Инструмент · 1 мин
Как запускать ваше приложение#
Ответьте на три вопроса, и получится схема под ваш тип приложения.
Как запускать ваше приложение
Выбор схемы зависит от типа приложения и от того, сколько у вас ядер. Три вопроса
04 · 1 мин
Что ломается после запуска#
Приложение, которое работает на ноутбуке, на сервере сталкивается с другими условиями. По частоте проблем:
- Процесс не поднялся после перезагрузки. Служба не включена в автозапуск. Проверяется принудительной перезагрузкой сервера сразу после настройки.
- Утечка памяти в рабочем процессе. Лечится ограничением числа обработанных запросов на процесс: процесс периодически перезапускается сам.
- Длинная задача блокирует запросы. Отчёты и обработку файлов выносят в отдельный обработчик с очередью.
- Переменные окружения потеряны. Секреты и настройки лежат в файле службы или в отдельном файле окружения, а не в командной строке.
- Миграции базы при обновлении. Выполняются до перезапуска процессов, иначе часть запросов попадёт на старую схему.
Журнал смотрите через журнал системы
Служба systemd пишет вывод приложения в общий журнал, и там видно и падение, и причину. Отдельный файл журнала для этого не нужен, а ротацию общего журнала система делает сама.
Контроль того, что процесс жив и отвечает, ставится снаружи: мониторинг. Если приложение упаковано в контейнеры, часть этих вопросов решается иначе: Docker на VPS.
05 · 1 мин
Вопросы о запуске Python#
Нужен ли Nginx, если приложение само отдаёт HTTP?
Нужен: он держит сертификат, отдаёт статику и ограничивает частоту запросов. Приложение при этом не смотрит в интернет напрямую.
Сколько памяти занимает процесс Django?
Обычно 80-200 МБ в зависимости от библиотек. Точный вес смотрят в списке процессов на своём сервере.
Как сделать, чтобы приложение поднималось после перезагрузки?
Описать его службой systemd и включить в автозапуск. Проверяют принудительной перезагрузкой сервера, а не доверием к настройке.
Где хранить пароли и ключи приложения?
В файле окружения с правами только для своего пользователя, а не в коде и не в командной строке запуска.
Почему этому можно верить
Как мы проверяли
Источники цифр на этой странице: VPS и VDS серверы Таймвеб Клауд, timeweb.cloud/services/vds-vps, проверено 14 октября 2026.
Проверьте сервер на деле
При почасовой оплате сутки теста стоят десятки рублей, а не месячный тариф.
- Оплата по часам, а не только за месяц
- NVMe-диски во всех конфигурациях
- Дата-центры в России и за рубежом
- Создание сервера за пару минут