Flask, web uygulamaları geliştirmek için popüler bir Python mikro çerçevesidir. Bazen, Flask uygulamanızın yalnızca yerel makinenizden değil, ağınızdaki herhangi bir cihazdan erişilebilir olmasına ihtiyaç duyarsınız. Bu, app.run()
içindeki host
parametresini '0.0.0.0'
olarak ayarlamayı gerektirir. Bu makale, Flask geliştirme sunucunuzu ağ erişilebilirliği için nasıl yapılandıracağınızı açıklamaktadır.
İçerik Tablosu
app.run()
Fonksiyonu- Host Parametresinin Yapılandırılması
- Port Parametresinin Kullanımı
- Hata Ayıklama Modu
- Her Şeyi Bir Araya Getirmek
- Üretim Ortamına Dağıtım
app.run()
Fonksiyonu
app.run()
fonksiyonu Flask geliştirme sunucusunu başlatır. Davranışını özelleştirmek için birkaç isteğe bağlı bağımsız değişken kabul eder. Önemli bağımsız değişkenler arasında host
, port
ve debug
bulunur.
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello_world():
return "Hello, World!
"
if __name__ == "__main__":
app.run() # Varsayılan olarak host='127.0.0.1', port=5000
Bu, sunucuyu 5000 numaralı portu kullanarak localhost
(127.0.0.1
) üzerinde başlatır. Diğer cihazlardan erişilebilir hale getirmek için host
parametresini ayarlayacağız.
Host Parametresinin Yapılandırılması
host
parametresi, sunucunun dinlediği ağ arayüzünü belirtir. Bunu '0.0.0.0'
olarak ayarlamak, sunucunun tüm mevcut arayüzlerde dinlemesini sağlayarak uygulamanızın aynı ağdaki herhangi bir cihazdan erişilebilir olmasını sağlar.
if __name__ == "__main__":
app.run(host='0.0.0.0')
Port Parametresinin Kullanımı
port
parametresi, port numarasını belirtir. Varsayılan değer 5000’dir. Bu port zaten kullanılıyorsa, alternatif bir port seçmeniz gerekir.
if __name__ == "__main__":
app.run(host='0.0.0.0', port=8080)
Hata Ayıklama Modu
debug
parametresi, kod değişiklikleri olduğunda otomatik yeniden yükleme ve etkileşimli bir hata ayıklayıcı gibi hata ayıklama özelliklerini etkinleştirir. Geliştirme sırasında son derece kullanışlıdır, ancak üretim ortamında önemli bir güvenlik riski oluşturur. Üretim ortamında asla debug=True
kullanmayın.
if __name__ == "__main__":
app.run(host='0.0.0.0', port=8080, debug=True)
Her Şeyi Bir Araya Getirmek
Tüm parametreleri birleştirmek, geliştirme sunucunuz üzerinde tam kontrol sağlar.
if __name__ == "__main__":
app.run(host='0.0.0.0', port=8081, debug=True)
Üretim Ortamına Dağıtım
app.run()
yöntemi yalnızca geliştirme için tasarlanmıştır. Üretim için, daha iyi performans, güvenlik ve güvenilirlik için systemd veya supervisord gibi bir işlem yöneticisiyle birlikte Gunicorn veya uWSGI gibi üretim hazır bir WSGI sunucusu kullanın.