FastAPI

Современный высокопроизводительный веб-фреймворк Python для создания API с подсказками типов.

1. Подключитесь к своему серверу

Используйте SSH для подключения к серверу:

ssh root@<server-ip>

2. Доступ к учетным данным для входа в систему

Для управления вашим приложением был создан специальный пользователь с именем fastapi.

Вы можете найти учетные данные для входа в этом файле: /root/.fastapi-creds

Чтобы их просмотреть, запустите:

cat /root/.fastapi-creds

Если вы хотите изменить пароль, используйте:

passwd fastapi

3. Переключитесь на пользователя приложения

Переключитесь на учетную запись пользователя fastapi для управления приложением:

su - flask

Эта учетная запись содержит ваш проект FastAPI и среду.

4. Структура проекта

Вот стандартная структура каталогов:

/home/fastapi/fastapi_app/
├── main.py          → Your main FastAPI application file
├── venv/            → Virtual environment
└── __pycache__/     → Compiled Python files (auto-generated)

5. Управление вашим приложением

Перейдите в каталог приложения:

cd ~/fastapi_app

Активируйте виртуальную среду:

source venv/bin/activate

Отредактируйте главный файл приложения:

nano main.py

Перезапустите службу FastAPI, чтобы применить изменения:

sudo systemctl restart uvicorn-fastapi

6. Просмотр журналов

Вы можете проверить журналы для Uvicorn и Nginx следующим образом:

  • Журналы Uvicorn: /var/log/uvicorn/
  • Журнал ошибок Nginx: /var/log/nginx/error.log
  • Журнал доступа Nginx: /var/log/nginx/access.log

Чтобы их просмотреть:

sudo tail -f /var/log/uvicorn/*

7. Доступ к вашему API

После запуска службы ваше приложение FastAPI будет доступно в браузере по адресу: http://<server-ip>

Nginx автоматически перенаправляет HTTP-запросы на сокет Uvicorn, на котором запущено ваше приложение FastAPI.

8. Изменение домена или порта

Если вы хотите обновить имя сервера, порт или домен:

  1. Измените конфигурацию сайта Nginx: sudo nano /etc/nginx/sites-available/uvicorn-fastapi
  2. Конфигурация теста: sudo nginx -t
  3. Перезагрузите Nginx: sudo systemctl restart nginx

9. Сервис Uvicorn

Приложение FastAPI запускается через службу systemd с именем uvicorn-fastapi.

Он использует /home/fastapi/fastapi_app/main:app в качестве точки входа приложения и автоматически перезапускается в случае сбоя.

Для управления сервисом:

systemctl status uvicorn-fastapi
systemctl restart uvicorn-fastapi

Чтобы отредактировать службу:

sudo vim /etc/systemd/system/uvicorn-fastapi.service
sudo systemctl daemon-reload
sudo systemctl restart uvicorn-fastapi
sudo systemctl status uvicorn-fastapi

10. Включение HTTPS (необязательно)

Используйте Certbot для включения HTTPS.

Детали заявки