Назад

VPS-хостинг для Python, уже установленного

На этом Python-хостинге вы стартуете с уже готовыми Python, виртуальным окружением, Gunicorn и HTTPS. Пробное приложение запускается само после оплаты, а его адрес появляется в панели. Перенесите свой код на Flask, FastAPI или обычный WSGI в /home/app/uygulama по SSH и перезапускайте его одной командой.

Какая мощность вам нужна?

Итого$2.58/мес.

Цены указаны с НДС.

RAM и CPU можно увеличивать и уменьшать когда угодно. Диск можно только увеличить, поэтому начните с малого.

Что установлено на вашем сервере Python?

  • Python 3.12 из репозитория Ubuntu 24.04
  • Виртуальное окружение в /home/app/uygulama/venv
  • Gunicorn 26 с 2 воркерами на 127.0.0.1:8000
  • Служба systemd с именем uygulama, которая запускается при загрузке и перезапускается после сбоя
  • HTTPS через Caddy на адресе sslip.io, построенном по вашему IP, так что домен необязателен
  • Непривилегированный пользователь app, чтобы ваш код не работал от root
  • Брандмауэр, в котором открыты только порты 22, 80 и 443

Какой размер нужен для Python?

В документации Python нет цифры по оперативной памяти: всё зависит от вашего приложения. Gunicorn загружает приложение в отдельный процесс для каждого воркера, поэтому память растёт вместе с их числом. Gunicorn советует начинать с (2 x ядер) + 1 воркеров, а в этой установке их 2. Ориентир такой: для небольшого API хорошо начать с 1 ГБ, а для нескольких воркеров или тяжёлых пакетов — 2–4 ГБ. Если этого мало, увеличьте оперативную память, CPU и диск по отдельности в панели, а ваши данные и IP-адрес останутся прежними.

ПрименениеРазмерЦенаВыбрать
Стартовый 1 GB RAM · 1 vCore · 25 GB NVMe $2.58/мес.
Средний 2 GB RAM · 1 vCore · 40 GB NVMe $4.01/мес.
Мощный 4 GB RAM · 2 vCore · 60 GB NVMe $6.89/мес.

Кому подходит?

  • Разработчики, публикующие API или веб-приложение на Flask или FastAPI
  • Проекты, которым на виртуальном хостинге стало тесно из-за версии Python или пакетов
  • Те, кто запускает на собственном сервере Python-приложение, собранное с помощью ИИ-инструментов
  • Те, кто занимается обработкой данных, автоматизацией или запуском скриптов по расписанию

Что будет после заказа?

  1. Задайте размер и оплатите заказ.
  2. Сервер запускается, и Python с Gunicorn устанавливаются сами. В наших проверках на настоящих серверах это заняло около 3 минут.
  3. На вкладке «Обзор» откройте «Адрес сайта». На пробной странице показана версия Python.
  4. Подключитесь по SSH, выполните su - app, перейдите в папку командой cd ~/uygulama и перенесите туда свой код, например через git clone.
  5. Установите зависимости: venv/bin/pip install -r requirements.txt
  6. Сделайте так, чтобы wsgi.py отдавал ваше приложение как app, вернитесь к root командой exit и выполните systemctl restart uygulama.

С каждым сервером

  • Ежедневные бэкапы входят в цену
  • Безлимитный трафик
  • Полный root-доступ
  • Позже можно увеличить или уменьшить RAM и CPU, а диск увеличить
  • Расположение: Istanbul · IST-1.

Полезно знать

  • Gunicorn запускает wsgi:app. Для другого модуля измените строку ExecStart в /etc/systemd/system/uygulama.service и выполните systemctl daemon-reload.
  • Воркеры при увеличении сервера сами не добавляются. Значение --workers вы меняете в том же файле службы.
  • Чтобы компилировать расширения на C, выполните от root apt install build-essential python3-dev.
  • Обновления безопасности Ubuntu и Python устанавливаются сами. Пакеты pip в своём виртуальном окружении вы обновляете сами.
  • Ваше приложение должно слушать 127.0.0.1:8000, а публичным адресом занимается Caddy. Если открыть Gunicorn наружу, HTTPS будет обойдён.
  • Если сертификат выпустить не удаётся, сайт открывается по http на вашем IP-адресе.

Python: вопросы и ответы

Как развернуть приложение на Flask?

Положите код в ~/uygulama и установите зависимости через venv/bin/pip. Сделайте так, чтобы wsgi.py отдавал приложение как app, затем выполните от root systemctl restart uygulama. Либо замените wsgi:app в строке ExecStart на project:app (или на project:create_app(), если у вас фабрика приложения) и выполните systemctl daemon-reload.

Работает ли FastAPI на этом сервере?

Да. FastAPI использует ASGI, и с ним справляется встроенный ASGI-воркер Gunicorn. В строке ExecStart замените wsgi:app на --worker-class asgi main:app, затем выполните systemctl daemon-reload и systemctl restart uygulama. Адрес привязки оставьте 127.0.0.1:8000.

Сколько оперативной памяти нужно для Python-хостинга?

Официальной цифры по оперативной памяти у Python нет: всё зависит от приложения и числа воркеров. Ориентир такой: для небольшого API хорошо начать с 1 ГБ, а для нескольких воркеров или пакетов для анализа данных — 2–4 ГБ.

Можно ли сменить версию Python?

На сервере стоит Python 3.12 из Ubuntu 24.04. У вас есть root-доступ, поэтому можно установить и другую версию. Пересоздайте виртуальное окружение с этой версией, затем заново установите свои пакеты и Gunicorn.

Остановится ли приложение, если я выйду из SSH?

Нет. Ваш код на Python работает как служба systemd с именем uygulama. Она продолжает работать после выхода, а после сбоя или перезапуска сервера поднимается снова. Её вывод можно прочитать командой journalctl -u uygulama.

Подойдёт ли этот сервер для Django?

Да. Gunicorn запускает и Django, поэтому в строку ExecStart вы запишете project.wsgi:application. Если хотите, чтобы Django и его настройки установились за вас, посмотрите вариант сервера с Django.

Читайте дальше и смотрите похожие приложения