1. Sunucunuza bağlanın
SSH kullanarak sunucunuza bağlanın:
ssh root@<server-ip>
2. Giriş Bilgilerine Erişim
Uygulamanızı yönetmek için fastapi adlı özel bir kullanıcı oluşturulmuştur.
Giriş bilgilerini bu dosyada bulabilirsiniz: /root/.fastapi-creds
Bunları görüntülemek için şunu çalıştırın:
cat /root/.fastapi-creds
Şifreyi değiştirmek isterseniz, ş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ı
İşte varsayılan dizin yapısı:
/home/fastapi/fastapi_app/
├── main.py → Your main FastAPI application file
├── venv/ → Virtual environment
└── __pycache__/ → Compiled Python files (auto-generated)
5. Başvurunuzu 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 hizmetini yeniden başlatın:
sudo systemctl restart uvicorn-fastapi
6. Günlükleri Görüntüleme
Uvicorn ve Nginx günlüklerini aşağıdaki şekilde kontrol edebilirsiniz:
- 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
Görüntülemek için:
sudo tail -f /var/log/uvicorn/*
7. API'nize Erişim
Hizmet çalışmaya başladığında, FastAPI uygulamanız tarayıcınızda şu adreste kullanılabilir: http://<server-ip>
Nginx, HTTP isteklerini FastAPI uygulamanızı çalıştıran Uvicorn soketine otomatik olarak iletir.
8. Etki Alanını veya Bağlantı Noktasını Değiştirme
Sunucu adını, bağlantı noktasını veya etki alanını güncellemek istiyorsanız:
- Nginx site yapılandırmasını düzenleyin:
sudo nano /etc/nginx/sites-available/uvicorn-fastapi - Test yapılandırması:
sudo nginx -t - Nginx'i yeniden yükle:
sudo systemctl restart nginx
9. Uvicorn Hizmeti
FastAPI uygulaması, uvicorn-fastapi adlı bir systemd hizmeti aracılığıyla çalışır.
Kullanır /home/fastapi/fastapi_app/main:app uygulama giriş noktası olarak ve hata durumunda otomatik olarak yeniden başlatılır.
Hizmeti yönetmek için:
systemctl status uvicorn-fastapi
systemctl restart uvicorn-fastapi
Hizmeti 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'yi etkinleştirin (İsteğe bağlı)
HTTPS'yi etkinleştirmek için Certbot'u kullanın.