Madde:
Günümüzün hızla gelişen dijital dünyasında, kullanıcı dostu arayüzlere sahip Python web uygulamaları geliştirmek olmazsa olmazdır. Python'da hafif bir WSGI web uygulama çerçevesi olan Flask , bu tür işlevler için en iyi seçeneklerden biridir. Peki ya tek bir sunucuda birden fazla Flask uygulaması çalıştırılacaksa? Bu genellikle biraz karmaşık olabilir. Bu kılavuz, bu süreçte size yol gösterecektir.
Birden Fazla Flask Uygulamasını Tek Sunucuda Birleştirme
Birden fazla Flask uygulamasının tek bir sunucuya entegrasyonu karmaşık olsa da imkansız değildir. Python ve Flask'ın belirli bir düzeyde anlaşılmasını gerektirir. Başlangıçta bu çok zor görünebilir, ancak sistematik bir yaklaşımla ve en iyi uygulamaları takip ederek bu engelin üstesinden gelinebilir.
Her Flask uygulaması ayrı bir varlık olarak kabul edilir; dolayısıyla sunucuda bağımsız olarak var olabilir. Flask uygulamalarının önünde Nginx veya Apache gibi bir ters proxy sunucusu kullanılarak trafiğin URL'ye göre farklı Flask uygulamalarına yönlendirilmesi mümkündür.
from flask import Flask
app1 = Flask('app1')
app2 = Flask('app2')
@app1.route('/')
def hello():
return "Hello from App 1"
@app2.route('/')
def hello():
return "Hello from App 2"
Adım Adım Kod Yürütme
Öncelikle uygulama1 ve uygulama2 adlı iki Flask örneği oluşturulur. İsimler tercihen birbirini ayıracak kadar ayırt edici olmalıdır. Bu uygulamalar benzersiz yönlendirme bilgilerini destekler.
Her rota, o rotaya yanıt sağlayan fonksiyonun üzerinde bir Python dekoratörüyle tanımlanır. Bu durumda, iki ayrı Flask uygulaması için indekste ('/') iki rota oluşturulur ve her biri benzersiz bir yanıt döndürür.
if __name__ == '__main__':
app1.run(port=8080)
app2.run(port=8081)
Son olarak, `if __name__ == '__main__':` bloğu, betik doğrudan Python'dan çalıştırıldığında farklı bağlantı noktalarında iki Flask uygulamasını başlatır.
Python Kitaplıkları ve İşlevleri
- Cep şişesi: Python'da yazılmış bir mikro web çerçevesidir. Belirli araçlara veya kütüphanelere ihtiyaç duymadığından mikro çerçeve olarak sınıflandırılır.
- nginx: Ücretsiz, açık kaynaklı, yüksek performanslı bir HTTP sunucusu ve ters proxy'dir. Yalnızca yük dengeleyici görevi görmekle kalmaz, aynı zamanda HTTP önbelleği olarak da kullanılır ve sunucunun 10,000'den fazla eşzamanlı bağlantıyı yönetmesini sağlar.
- Apache HTTP Server: Ücretsiz ve açık kaynaklı, çapraz platform web sunucusu yazılımıdır. Apache, 1996'dan bu yana İnternet'teki en popüler web sunucusudur.
Web uygulamalarını çalıştırmak ve tek bir sunucuda birden fazla uygulamayı yönetmek için Flask'ın kullanımını anlamak, üretkenliğinizi ve büyük ölçekli projeleri yönetme kapasitenizi büyük ölçüde artırır. Bu kılavuzu takip ederek birden fazla Flask uygulamasını tek bir sunucuya sorunsuz bir şekilde entegre edebilmeniz gerekir. Unutmayın, pratik yapmak anahtardır ve mutlu kodlamadır!