Хостинг Python — хостинг с доступными Python 3.x, pip, virtualenv/venv и WSGI/ASGI-совместимым веб-сервером. На shared-хостинге Python обычно поддерживается через cPanel (Phusion Passenger), но с ограничениями на установку пакетов системного уровня. Для полноценных веб-приложений на Django, Flask или FastAPI нужен VPS с настроенным Nginx и WSGI/ASGI-сервером приложений.
Стек Python-хостинга
- Nginx — front-end сервер для раздачи статики и проксирования запросов к приложению
- Gunicorn — WSGI-сервер приложений для синхронных фреймворков (Django, Flask)
- Uvicorn / Hypercorn — ASGI-серверы для асинхронных фреймворков (FastAPI, Starlette, Django Channels)
- virtualenv / venv — изолированная среда зависимостей, исключает конфликты пакетов
- systemd / Supervisor — управление процессом приложения, автозапуск после ребута
- PostgreSQL / MySQL — реляционные СУБД, чаще всего используемые с Python-ORM (SQLAlchemy, Django ORM)
- Redis — кэш, очереди задач (Celery), сессии
Как работает Python-хостинг
Запросы от браузера идут через Nginx, который обрабатывает статику сам (CSS, JS, изображения) и проксирует динамические запросы на Gunicorn через Unix-сокет. Gunicorn запускает N воркеров приложения (pre-fork worker model): каждый воркер — отдельный Python-процесс, потребляющий 50–200 МБ RAM в зависимости от размера приложения. Оптимальная формула: воркеров = 2 × CPU + 1.
Для асинхронных фреймворков (FastAPI, Starlette) используют Uvicorn с ASGI-интерфейсом. FastAPI в комбинации с Uvicorn обрабатывает 50 000–100 000 запросов/сек на одном ядре — примерно в 10 раз больше, чем синхронный Django без кэша. Для фоновых задач (отправка email, обработка изображений) — Celery с брокером Redis или RabbitMQ.
История Python в веб-разработке
Python появился в 1991 году (Гвидо ван Россум, CWI, Нидерланды). Веб-разработка на Python началась с CGI-скриптов в 1990-х. PEP 333 (2003) стандартизировал WSGI — интерфейс между веб-серверами и Python-приложениями. Django вышел в июле 2005 года (Kansas World Online newspaper). Flask появился в 2010 году как микрофреймворк. ASGI (Asynchronous Server Gateway Interface) стандартизирован в 2018 году. FastAPI вышел в декабре 2018 года и к 2024 году стал вторым по популярности Python-фреймворком после Django по данным PyPI.
Выбор хостинга для Python
Для production: VPS с Ubuntu 22.04, Python 3.11+, Nginx + Gunicorn, PostgreSQL. Минимальная конфигурация: 1 CPU, 1 ГБ RAM, 20 ГБ SSD. Для хобби-проектов — PaaS (Railway, Render, Fly.io) с автодеплоем из Git. Для production с нагрузкой: 2+ CPU, 4 ГБ RAM, отдельный сервер PostgreSQL. Managed PostgreSQL (RDS, Managed Database у DigitalOcean) — хорошая опция, чтобы не заниматься репликацией вручную.
Деплой Python-приложений
Стандартный workflow: код в Git-репозитории → CI/CD пайплайн (GitHub Actions, GitLab CI) запускает тесты → деплой на сервер через SSH + git pull + systemctl restart gunicorn. Более продвинутый вариант — Docker-контейнер с приложением, деплой через docker-compose или Kubernetes. Для Django обязательно: python manage.py migrate перед рестартом приложения, python manage.py collectstatic для сборки статики. Переменные среды (SECRET_KEY, DATABASE_URL) хранить в .env файле или через systemd EnvironmentFile — никогда в коде.