1. Sunucunuza Bağlanın
Sunucunuza bağlanmak için SSH kullanın:
ssh root@<server-ip>
2. Oturum Açma Kimlik Bilgilerine Erişim
Uygulamanızı yönetmek için fastapi adında özel bir kullanıcı oluşturuldu.
Oturum açma kimlik 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 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ı
İşte varsayılan dizin düzeni:
/home/fastapi/fastapi_app/
├── main.py → Your main FastAPI application file
├── venv/ → Virtual environment
└── __pycache__/ → Compiled Python files (auto-generated)
5. Başvurunuzu Yönetmek
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
Bunları görüntülemek için:
sudo tail -f /var/log/uvicorn/*
7. API'nize Erişim
Hizmet çalışmaya başladıktan sonra FastAPI uygulamanıza tarayıcınızda şu adresten ulaşabilirsiniz: http://<server-ip>
Nginx, HTTP isteklerini otomatik olarak FastAPI uygulamanızı çalıştıran Uvicorn soketine iletir.
8. Etki Alanı 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ükleyin:
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 kullanılır ve arıza 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.