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.