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 можно следующим образом:
- Логи Ювикорна:
/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 - Перезагрузите Нгинкс:
sudo systemctl restart nginx
9. Ювикорн Сервис
Приложение FastAPI запускается через системный сервис 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.