Flask на VPS: деплой Python microframework — иллюстрация к статье Storm Cloud Blog, категория Разработка
Flask на VPS: деплой Python microframework — иллюстрация к статье Storm Cloud Blog, категория Разработка
Разработка·2 мин··

Flask на VPS: деплой Python microframework

Деплой Flask на VPS: Gunicorn, Nginx, venv, systemd, SSL. Лёгкий Python backend для API и небольших приложений.

Краткий ответ: Flask + Gunicorn + Nginx + systemd — классический Python-стек на VPS. Виртуальное окружение, gunicorn app:app, reverse proxy с SSL.

Flask проще Django для API и микросервисов. FastAPI — если нужен async и OpenAPI из коробки.


Подготовка VPS

sudo apt install python3-venv nginx -y

Ubuntu настройка — первым делом.


venv и зависимости

cd /var/www/flask-app
python3 -m venv venv
source venv/bin/activate
pip install flask gunicorn
# app.py
from flask import Flask
app = Flask(__name__)

@app.route('/health')
def health():
    return {'status': 'ok'}

Gunicorn

gunicorn --workers 3 --bind 127.0.0.1:8000 app:app
[Service]
ExecStart=/var/www/flask-app/venv/bin/gunicorn --workers 3 --bind 127.0.0.1:8000 app:app
WorkingDirectory=/var/www/flask-app
User=deploy

systemd для автозапуска.


Nginx

location / {
    proxy_pass http://127.0.0.1:8000;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
}

БД и кэш


Workers и RAM

VPS RAM workers
1 GB 2
2 GB 3
4 GB 4–5

Каждый worker — отдельный Python-процесс.


Итог

Flask на VPS — быстрый старт для Python API. Gunicorn + Nginx + systemd покрывают 90% pet-проектов.

VPS от 1 GB — StormNet Cloud. Async API — FastAPI.

Частые вопросы

Flask или FastAPI для нового API на VPS?

FastAPI — для async и автодокументации OpenAPI. Flask — проще, огромная экосистема, синхронный по умолчанию.

Сколько Gunicorn workers для Flask?

Формула (2 × CPU) + 1, но на 2 ГБ VPS обычно 2–3 workers. Следите за RAM.