1. Sunucunuza Bağlanın
Sunucunuza bağlanmak için SSH kullanın:
ssh root@<server-ip>
2. Giriş Bilgilerine Erişin
Uygulamanızı yönetmek için fastapi adında özel bir kullanıcı oluşturuldu.
Giriş bilgilerini bu dosyada bulabilirsiniz: /root/.fastapi-creds
Görüntülemek için şunu çalıştırın:
cat /root/.fastapi-creds
Şifreyi değiştirmek istiyorsanız şunu kullanın:
passwd fastapi
3. Uygulama Kullanıcısına Geçin
Uygulamanızı yönetmek için fastapi kullanıcı hesabına geçin:
su - flask
Bu hesap, FastAPI projenizi ve ortamınızı içerir.
4. Proje Yapısı
Varsayılan dizin yapısı şöyledir:
/home/fastapi/fastapi_app/
├── main.py → Your main FastAPI application file
├── venv/ → Virtual environment
└── __pycache__/ → Compiled Python files (auto-generated)
5. Uygulamanızı Yönetme
Uygulama dizinine gidin:
cd ~/fastapi_app
Sanal ortamı etkinleştirin:
source venv/bin/activate
Ana uygulama dosyasını düzenleyin:
nano main.py
Değişiklikleri uygulamak için FastAPI servisini yeniden başlatın:
sudo systemctl restart uvicorn-fastapi
6. Günlükleri Görüntüleme
Uvicorn ve Nginx günlüklerini şu şekilde inceleyebilirsiniz:
- Uvicorn günlükleri:
/var/log/uvicorn/ - Nginx hata günlüğü:
/var/log/nginx/error.log - Nginx erişim günlüğü:
/var/log/nginx/access.log
Bunları görüntülemek için:
sudo tail -f /var/log/uvicorn/*
7. API'nize Erişim
Servis çalışmaya başladıktan sonra FastAPI uygulamanıza tarayıcınızdan şu adresten ulaşabilirsiniz: http://<server-ip>
Nginx, HTTP isteklerini FastAPI uygulamanızı çalıştıran Uvicorn soketine otomatik olarak yönlendirir.
8. Domain veya Port Değiştirme
Sunucu adını, portu veya domaini güncellemek istiyorsanız:
- Nginx site yapılandırmasını düzenleyin:
sudo nano /etc/nginx/sites-available/uvicorn-fastapi - Test konfigürasyonu:
sudo nginx -t - Nginx'i yeniden yükle:
sudo systemctl restart nginx
9. Uvicorn Hizmeti
FastAPI uygulaması, uvicorn-fastapi adlı bir systemd servisi üzerinden çalışır.
Kullanır /home/fastapi/fastapi_app/main:app uygulama giriş noktası olarak kullanılır ve hata durumunda otomatik olarak yeniden başlar.
Servisi yönetmek için:
systemctl status uvicorn-fastapi
systemctl restart uvicorn-fastapi
Servisi düzenlemek için:
sudo vim /etc/systemd/system/uvicorn-fastapi.service
sudo systemctl daemon-reload
sudo systemctl restart uvicorn-fastapi
sudo systemctl status uvicorn-fastapi
10. HTTPS Etkinleştirme (İsteğe Bağlı)
HTTPS için Certbot kullanın.