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.