Nginx ile Flask veya Bottle nasıl kullanılır?
Mesaj bırakın
Selam! Web geliştirmeyle ilgileniyorsanız, muhtemelen Flask ve Bottle'ı duymuşsunuzdur. Bu hafif Python web çerçeveleri, web uygulamaları oluşturmak için son derece kullanışlıdır. Ve iş bunları dağıtmaya gelince, Nginx en çok tercih edilen web sunucusudur. Bir Matara ve Şişe tedarikçisi olarak, Flask veya Bottle'ın Nginx ile nasıl kullanılacağı konusunda size yol göstermek için buradayım.
Neden Şişeyi/Şişeyi Nginx ile Birleştirmelisiniz?
Öncelikle Nginx ile neden Flask veya Bottle'ı kullanmak isteyeceğinizden bahsedelim. Flask ve Bottle, hızlı bir şekilde web uygulamaları oluşturmak için mükemmeldir, ancak çok sayıda eşzamanlı isteği kendi başlarına karşılayacak şekilde tasarlanmamıştır. Bunlar daha çok web uygulamanızın işlevselliğini güçlendiren basit motorlara benzer.
Nginx ise yüksek performanslı bir web sunucusudur. Bir ton eşzamanlı bağlantıyı verimli bir şekilde işleyebilir. Nginx'i Flask veya Bottle uygulamanızın önünde kullanarak, statik dosyaların sunulması, HTTP isteklerinin yönetilmesi ve yük dengeleme gibi görevlerin yükünü boşaltabilirsiniz. Bu şekilde Flask veya Bottle uygulamanız en iyi yaptığı işe odaklanabilir: iş mantığını işlemek.
Şişeyi veya Şişeyi Ayarlama
Nginx ile entegrasyona dalmadan önce Flask veya Bottle uygulamamızın çalışır durumda olduğundan emin olalım.


Şişe Kurulumu
Flask kullanıyorsanız öncelikle Python ve Flask'ın kurulu olduğundan emin olun. Bunun gibi basit bir Flask uygulaması oluşturabilirsiniz:
flask'tan içe aktarma Flask uygulaması = Flask(__name__) @app.route('/') def hello_world(): return 'Merhaba, Dünya!' if __name__ == '__main__': app.run(ana bilgisayar='0.0.0.0', port=5000)
Bu kodu bir dosyaya kaydedin, diyelimuygulama.py. Daha sonra şunu kullanarak çalıştırınpython uygulaması.py. Flask uygulamanız çalışmaya başlayacakhttp://0.0.0.0:5000.
Şişe Kurulumu
Bottle için de süreç benzerdir. Henüz yapmadıysanız Bottle'ı yükleyin. İşte basit bir Şişe uygulaması:
şişe içe aktarma yolundan @route('/') def index() komutunu çalıştırın: 'Şişeden Merhaba!' döndürün çalıştır(ana bilgisayar='0.0.0.0', bağlantı noktası=8080)
Bunu farklı kaydetşişe_app.pyve onunla çalıştırpython şişe_app.py. Şişe uygulamanıza şuradan erişilebilecek:http://0.0.0.0:8080.
Nginx'i Kurmak ve Yapılandırmak
Şimdi Nginx'i çalışır duruma getirelim. Kurulum işlemi işletim sisteminize bağlı olarak değişir. Ubuntu'da aşağıdaki komutu kullanabilirsiniz:
sudo apt-get güncellemesi sudo apt-get nginx'i yükle
Kurulumdan sonra Nginx'i kullanarak başlatınsudo systemctl nginx'i başlat. İle durumunu kontrol edebilirsinizsudo systemctl durumu nginx.
Nginx'i Flask veya Bottle için Yapılandırma
Nginx, istekleri nasıl ele alması gerektiğini tanımlamak için yapılandırma dosyalarını kullanır. Flask veya Bottle uygulamanız için yeni bir yapılandırma dosyası oluşturmanız gerekecektir.
İçinde yeni bir dosya oluşturun/etc/nginx/sites - kullanılabilir/dizin. Örneğin, Flask kullanıyorsanız adlı bir dosya oluşturabilirsiniz.flask_app.conf:
sunucu { dinle 80; sunucu_adı alan_adınız_veya_ip; konum / { proxy_pass http://127.0.0.1:5000; proxy_set_header Ana Bilgisayar $anasistem; proxy_set_header X - Gerçek - IP $remote_addr; proxy_set_header X - İletilen - $proxy_add_x_forwarded_for için; } }
Bottle kullanıyorsanız değiştirinproxy_passilehttp://127.0.0.1:8080ve dosyayı şu şekilde kaydedin:şişe_app.conf.
Sembolik bir bağlantı oluşturunsiteler - etkindizin:
sudo ln -s /etc/nginx/sites - kullanılabilir/flask_app.conf /etc/nginx/sites - etkin/
Veya Şişe için:
sudo ln -s /etc/nginx/sites - mevcut/bottle_app.conf /etc/nginx/sites - etkin/
Nginx yapılandırmasını şununla test edin:sudo nginx -t. Hata yoksa Nginx'i kullanarak yeniden yükleyin.sudo systemctl nginx'i yeniden yükle.
Statik Dosyaların Sunumu
Nginx'in en güzel yanlarından biri statik dosyaları verimli bir şekilde sunma yeteneğidir. Flask veya Bottle uygulamanızda CSS, JavaScript veya resimler gibi statik varlıklarınız olabilir.
Nginx yapılandırma dosyanıza yeni bir tane ekleyinkonumStatik dosyalar için blok. Örneğin:
konum /statik { takma ad /yol/giden/senin/statik/dosyaların; }
Bu, Nginx'e bir istek ile başladığında belirtilen dizindeki dosyaları sunmasını söyler./statik.
Yük Dengeleme
Flask veya Bottle uygulamanızın birden fazla örneği çalışıyorsa yük dengeleme için Nginx'i kullanabilirsiniz. Bunu nasıl yapılandırabileceğiniz aşağıda açıklanmıştır:
yukarı akış flask_apps { sunucu 127.0.0.1:5000; sunucu 127.0.0.1:5001; } sunucu { dinle 80; sunucu_adı alan_adınız_veya_ip; konum / { proxy_pass http://flask_apps; proxy_set_header Ana Bilgisayar $anasistem; proxy_set_header X - Gerçek - IP $remote_addr; proxy_set_header X - İletilen - $proxy_add_x_forwarded_for için; } }
Bu yapılandırma, gelen istekleri Flask uygulamanızın 5000 ve 5001 numaralı bağlantı noktalarında çalışan iki örneği arasında dağıtır.
Ters Proxy Kullanma
Nginx bu kurulumda ters proxy görevi görür. Bir ters proxy, Flask veya Bottle uygulamanızın önünde bulunur ve istekleri ona iletir. Ayrıca uygulamanızın iç yapısını dış dünyadan gizlemenize de yardımcı olur.
proxy_passNginx konfigürasyonundaki direktif bunun gerçekleşmesini sağlayan şeydir. Gelen HTTP isteklerini alır ve bunları yerel makinede çalışan uygun Flask veya Bottle uygulamasına gönderir.
İzleme ve Sorun Giderme
Her şeyi ayarladıktan sonra Flask/Bottle uygulamanızı ve Nginx'i izlemek önemlidir. Gibi araçları kullanabilirsinizkuyrukNginx erişimini ve hata günlüklerini görüntülemek için:
sudo tail -f /var/log/nginx/access.log sudo tail -f /var/log/nginx/error.log
Sorunlarla karşılaşırsanız bu günlükler size neyin yanlış gittiğine dair değerli bilgiler verebilir. Örneğin, eğer görürseniz502 sunucu hatasıhatalar, Flask veya Bottle uygulamanızın düzgün çalışmadığı anlamına gelebilir.
Ürün Tekliflerimiz
Bir Şişe ve Şişe tedarikçisi olarak yalnızca rehberlik sağlamakla kalmıyoruz. Ayrıca Flask ve Bottle ekosistemiyle ilgili yüksek kaliteli ürünler de sunuyoruz. Örneğin, kodlamayla meşgulken kahvenizi sıcak tutmanın harika bir yolunu arıyorsanız, makalemize göz atın.Paslanmaz Çelik Yalıtımlı Cezve. Uzun kodlama oturumları için mükemmeldir.
Tedarik İçin Bize Ulaşın
Şişe ve Şişe çözümlerimiz ilginizi çekiyorsa veya bunları Nginx ile kullanma konusunda sorularınız varsa sizden haber almak isteriz. İster küçük bir startup, ister büyük bir işletme olun, ihtiyacınız olan desteği ve ürünleri sağlayabiliriz. Bir satın alma görüşmesi başlatmak için bize ulaşın. Web geliştirme projelerinizden en iyi şekilde yararlanmanıza yardımcı olmak için buradayız.
Referanslar
- Şişe Belgeleri
- Şişe Dokümantasyonu
- Nginx Belgeleri





