Flask Projelerini Deploy Etme

Hafif ve esnek Flask uygulamalarınızı Skyversal üzerinde Gunicorn ile saniyeler içinde deploy edin. WSGI tanımlamaları ve ortam değişkenleri rehberi.

Flask Projelerini Deploy Etme

Minimalist, esnek ve güçlü yapısıyla Flask, mikro servisler ve API'ler için mükemmel bir seçimdir. Skyversal, Flask projelerinizi ekstra bir yapılandırma gerektirmeden Gunicorn üzerinden anında yayına alır.

Okuma Süresi: 4 Dakika
Sunucu: Gunicorn
Standart: WSGI

Bu rehberde neler öğreneceksiniz?

  • Gerekli gereksinimler (Gunicorn zorunluluğu)
  • Uygulama örneği (app nesnesi) algılama mantığı
  • Ortam değişkenleri (Environment Variables) kullanımı
  • Özelleştirilmiş giriş noktası (FLASK_APP)

1. Gerekli Bağımlılıklar (requirements.txt)

Flask uygulamalarının üretim ortamında (production) çalışabilmesi için Flask paketinin yanında bir WSGI sunucusuna ihtiyacı vardır. Bağımlılık dosyanızda şu iki paketin olduğundan emin olun:

requirements.txt
Flask==3.0.0
gunicorn==21.2.0 # WSGI sunucusu olarak şarttır
# ... diğer bağımlılıklarınız

2. Flask Uygulaması Nasıl Algılanır?

Skyversal, Flask projenizi başlatırken otomatik olarak Gunicorn kullanır. Gunicorn'un uygulamanızı bulabilmesi için kodunuzda app = Flask(__name__) tanımlaması olmalıdır.

Skyversal sırasıyla şu dosyalardaki app nesnesini arar:

  • app.py
  • main.py
  • application.py
  • wsgi.py
💡
Özel Dosya Adı Kullanıyorsanız (Örn: server.py)

Eğer uygulamanız farklı bir dosyadaysa (örneğin server.py içindeyse), Skyversal paneline gidip Settings > Environment Variables kısmına yeni bir değişken ekleyin:

Key: FLASK_APP
Value: server:app

3. Ortam Değişkenleri (Environment Variables)

Flask uygulamanızda şifreleri, API anahtarlarını veya veritabanı URL'lerini doğrudan kod içinde tutmamalısınız. Skyversal paneli üzerinden eklediğiniz değişkenleri kodunuzda os.getenv() ile kolayca okuyabilirsiniz:

from
flask
import
Flask
import
os

app = Flask(__name__)

# Güvenli bir şekilde anahtarı okuma
app.config['SECRET_KEY'] = os.getenv('SECRET_KEY', 'varsayilan-guvenli-olmayan-anahtar')
app.config['SQLALCHEMY_DATABASE_URI'] = os.getenv('DATABASE_URL')

@app.route('/')
def
hello_world():
    
return
'Skyversal üzerinden Merhaba Dünya!'

Sık Karşılaşılan Hatalar (Troubleshooting)

Application failed health check

Çözüm: Gunicorn app nesnesini bulamıyor. Dosya isminizin standart (app.py vb.) olduğundan veya FLASK_APP değişkenini doğru ayarladığınızdan emin olun.

ModuleNotFoundError: No module named 'flask'

Çözüm: Kök dizinde requirements.txt eksik. Bağımlılıklarınızı pip freeze > requirements.txt komutuyla dışa aktarıp GitHub'a gönderin.

Port In Use (EADDRINUSE)

Çözüm: Eğer kodunuzun en altında app.run(port=...) kullanıyorsanız, Skyversal Gunicorn kullandığı için bu satır gereksizdir. Silebilirsiniz.

Hazırsınız! 🚀

Tüm kontrolleri yaptıysanız tek yapmanız gereken kodunuzu pushlamak. Skyversal saniyeler içinde SSL sertifikalı Flask uygulamanızı yayına alacaktır.

Son güncelleme: 27 Temmuz 2026
Bu sayfayı GitHub'da düzenle