В этой статье мы детально разберем процесс установки и первичной настройки высокопроизводительного веб-фреймворка FastAPI на сервере под управлением Ubuntu 20.04.
FastAPI: что это такое
FastAPI — это современный фреймворк для разработки веб-приложений и API на Python. Если говорить простыми словами, это готовый набор инструментов и библиотек, который позволяет разработчику быстро создавать бэкенд-логику для сайтов и сервисов, не отвлекаясь на рутинную настройку инфраструктуры.
| Если у вас еще нет виртуального сервера, его можно арендовать у проверенных провайдеров из нашей подборки надежных VPS серверов. | Перейти |
Ключевые преимущества FastAPI
Название фреймворка говорит само за себя, однако его сильные стороны не ограничиваются одной лишь скоростью работы.
- Высокая производительность. FastAPI показывает отличные результаты в бенчмарках, часто обходя такие популярные решения, как Django и Flask. Это касается не только количества обрабатываемых запросов в секунду, но и скорости разработки: для запуска минимального приложения достаточно всего 5 строк кода.
- Встроенная валидация данных. Механизм проверки входящих данных работает автоматически, включая глубоко вложенные JSON-запросы. При обнаружении несоответствия типов фреймворк возвращает понятное обоснование ошибки в формате JSON. По заявлению авторов, такая система сокращает количество потенциальных багов в коде примерно на 40%.
- Нативная поддержка асинхронности. FastAPI полностью поддерживает асинхронное программирование (из коробки), что стало возможным благодаря внедрению этой функции в Python начиная с версии 3.4. Благодаря этому запросы обрабатываются параллельно, а не последовательно, что критически сокращает время ответа сервера при высокой нагрузке.
- Автоматическая генерация документации. Фреймворк сам создает удобную и наглядную документацию для вашего API. Разработчики могут легко получить доступ как к стандартной, так и к альтернативной спецификации всех конечных точек. Это упрощает командную работу, тестирование и интеграцию с фронтенд-частью проектов.
Как установить FastAPI с Uvicorn на VPS: инструкция
Установка фреймворка состоит из двух основных шагов:
- Подготовка окружения Python.
- Установка и запуск FastAPI.
Рассмотрим каждый из них подробнее.
Шаг 1. Подготовка окружения Python
- Подключитесь к вашему VPS-серверу через SSH.
- Обновите системные пакеты до актуальных версий:
sudo apt update && sudo apt upgrade -y
- В большинстве сборок Ubuntu Python уже предустановлен. Проверьте его наличие командой:
python3 -V
Если в ответ вы видите версию, например,
Python 3.8.10— всё в порядке. Если система сообщает об ошибке, выполните установку вручную:sudo apt install python3
- Установите модуль
venvдля создания изолированных виртуальных сред:sudo apt install python3-venv
Шаг 2. Установка FastAPI
- Снова подключитесь к серверу по SSH (если сессия была прервана).
- Создайте рабочую директорию для будущего проекта и перейдите в неё:
mkdir fast_project cd fast_project
Замените
fast_projectна ваше собственное имя каталога. - Создайте виртуальное окружение внутри этой папки:
python3 -m venv fast_venv
- Активируйте созданное окружение:
source fast_venv/bin/activate
Имя
fast_venvтакже можно изменить по вашему усмотрению. - Установите FastAPI с дополнительным набором инструментов для продакшн-среды:
pip install "fastapi[standard]"
- Проверьте успешность установки, запросив версию фреймворка:
python -m fastapi --version
Если в терминале отобразилась информация о версиях зависимостей — установка прошла корректно.
| Если у вас еще нет виртуального сервера, его можно арендовать у проверенных провайдеров из нашей подборки надежных VPS серверов. | Перейти |
Создание и запуск тестового проекта на FastAPI с Uvicorn
Чтобы убедиться, что всё работает, создадим простое приложение.
- Находясь в директории
fast_project, создайте файлmain.py:nano main.py
- Вставьте в него следующий код:
from fastapi import FastAPI app = FastAPI() @app.get("/") async def root(): return {"message": "Hello World"}Сохраните файл (
Ctrl+O) и закройте редактор (Ctrl+X). - Запустите приложение с помощью сервера Uvicorn (он был установлен вместе с FastAPI):
uvicorn main:app
Если вы назвали файл иначе, укажите ваше имя вместо
main.В консоли должна появиться информация о запуске сервера на локальном порту.
- Откройте второе окно терминала, подключитесь к серверу и отправьте тестовый запрос:
curl http://localhost:8000
В ответ вы должны получить JSON-строку:
{"message": "Hello World"}Это означает, что ваше приложение FastAPI успешно развернуто и готово к работе.
| Если у вас еще нет виртуального сервера, его можно арендовать у проверенных провайдеров из нашей подборки надежных VPS серверов. | Перейти |
