1. Połącz się z serwerem
Użyj SSH, aby połączyć się z serwerem:
ssh root@<server-ip>
2. Dane logowania
W celu zarządzania aplikacją utworzono dedykowanego użytkownika o nazwie fastapi.
Dane logowania znajdziesz w tym pliku: /root/.fastapi-creds
Aby je wyświetlić, uruchom:
cat /root/.fastapi-creds
Jeśli chcesz zmienić hasło, użyj:
passwd fastapi
3. Przejdź do użytkownika aplikacji
Przejdź do konta użytkownika fastapi, aby zarządzać swoją aplikacją:
su - flask
To konto zawiera Twój projekt FastAPI i środowisko.
4. Struktura projektu
Oto domyślny układ katalogów:
/home/fastapi/fastapi_app/
├── main.py → Your main FastAPI application file
├── venv/ → Virtual environment
└── __pycache__/ → Compiled Python files (auto-generated)
5. Zarządzanie aplikacją
Przejdź do katalogu aplikacji:
cd ~/fastapi_app
Aktywuj środowisko wirtualne:
source venv/bin/activate
Edytuj główny plik aplikacji:
nano main.py
Uruchom ponownie usługę FastAPI, aby zastosować zmiany:
sudo systemctl restart uvicorn-fastapi
6. Wyświetlanie dzienników
Możesz sprawdzić logi dla Uvicorn i Nginx w następujący sposób:
- Dzienniki Uvicorn:
/var/log/uvicorn/ - Dziennik błędów Nginx:
/var/log/nginx/error.log - Dziennik dostępu Nginx:
/var/log/nginx/access.log
Aby je wyświetlić:
sudo tail -f /var/log/uvicorn/*
7. Dostęp do Twojego API
Po uruchomieniu usługi aplikacja FastAPI będzie dostępna w przeglądarce pod adresem: http://<server-ip>
Nginx automatycznie przekazuje żądania HTTP do gniazda Uvicorn, na którym działa aplikacja FastAPI.
8. Zmiana domeny lub portu
Jeśli chcesz zaktualizować nazwę serwera, port lub domenę:
- Edytuj konfigurację witryny Nginx:
sudo nano /etc/nginx/sites-available/uvicorn-fastapi - Konfiguracja testowa:
sudo nginx -t - Przeładuj Nginx:
sudo systemctl restart nginx
9. Usługa Uvicorn
Aplikacja FastAPI działa poprzez usługę systemd o nazwie uvicorn-fastapi.
Wykorzystuje /home/fastapi/fastapi_app/main:app jako punkt wejścia aplikacji i automatycznie uruchamia się ponownie w przypadku awarii.
Aby zarządzać usługą:
systemctl status uvicorn-fastapi
systemctl restart uvicorn-fastapi
Aby edytować usługę:
sudo vim /etc/systemd/system/uvicorn-fastapi.service
sudo systemctl daemon-reload
sudo systemctl restart uvicorn-fastapi
sudo systemctl status uvicorn-fastapi
10. Włącz protokół HTTPS (opcjonalnie)
Użyj Certbot, aby włączyć HTTPS.