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. Смена домена или порта
Чтобы изменить имя сервера, порт или домен:
- Откройте конфигурацию сайта Nginx:
sudo nano /etc/nginx/sites-available/uvicorn-fastapi - Проверьте конфигурацию:
sudo nginx -t - Перезагрузите 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.