Gunicorn Python Web Uygulamalarına Hizmet Etmek İçin Nasıl Kurulur

Bu yazıda, ters proxy olarak Gunicorn ve Nginx ile Python web uygulamalarını sunmak için bir VPS kuracağız. Gunicorn'a DoS saldırılarını önlemek için Nginx'i doğrudan Gunicorn ile hizmet etmek yerine ters proxy olarak kullanıyoruz. Nginx kullanımı da daha iyi performans (proxy arabelleğe alma ile) ve daha fazla isteğin işlenmesi ile sonuçlanır.

Başlangıç

Bu eğiticide, Ubuntu 14.04 veya daha yenisi yüklü, güncellenmiş ve güvenli bir VM'nin olduğu varsayılmaktadır.

  • Nginx örneğimiz 80 numaralı HTTP bağlantı noktasında çalışır (ancak HTTPS'ye kolayca yükseltebilirsiniz).
  • Örnek Python uygulamamız 8080 numaralı bağlantı noktasını dinleyecektir. Bu bağlantı noktası uzaktan erişimi önlemek için iptables bağlantılarında kapatılacaktır.
  • Bu öğretici en az değişiklik içeren diğer dağıtımlarda çalıştırılmalıdır.

Yükleme pip, virtualenv:

apt-get install python-pip python-virtualenv

8080 numaralı limanı kapatın. Gunicorn'a sadece Nginx tarafından ulaşılabilir.

iptables -A INPUT -p tcp --destination-port 8080 -j DROP

Yeni bir klasör oluşturun ve uygulamamızı yapılandırın. Flask çerçevesini kullanacağız.

mkdir /var/www-folder/
cd /var/www-folder/
virtualenv exampleapp
source exampleapp/bin/activate
cd exampleapp
pip install gunicorn
pip install flask

Uygulama dosyasını oluşturun.

nano myapplication.py 

Aşağıdakileri yapıştırın:

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello, Vultr!'

Bu, "Merhaba Vultr!" birisi sayfaya eriştiğinde. Şimdi, Gunicorn'u başlatın. VM'nizin xCPU çekirdeği sayısının 2 katıyla değiştirin .

gunicorn -w x myapplication:app &

Nginx'i yükleyin ve ters proxy'yi yapılandırın.

deactivate
apt-get install nginx
nano /etc/nginx/sites-enabled/default

location / {Satırı arayın ve köşeli parantez içindeki içeriği aşağıdaki içerikle değiştirin.

proxy_set_header HOST $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://localhost:8000/;

Bu yapılandırma, Nginx'e gerçek istekle birlikte bazı bilgileri (HTTP protokolü, uzak IP adresi) Gunicorn sunucusuna iletmesini bildirir. Nginx'i yeniden yükleyin.

service nginx reload

Bu noktada, Gunicorn uygulamanız düzgün bir şekilde yapılandırıldı. Adresinden bir web tarayıcısı kullanarak erişebilirsiniz http://your-vps-ip/.



Leave a Comment

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Birçoğunuz Switch'in Mart 2017'de çıkacağını ve yeni özelliklerini biliyorsunuz. Bilmeyenler için, 'Switch'i 'olmazsa olmaz bir gadget' yapan özelliklerin bir listesini hazırladık.

Hala Teslim Edilmeyen Teknoloji Sözleri

Hala Teslim Edilmeyen Teknoloji Sözleri

Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zekanın küçük ölçekli şirketler arasında nasıl popüler hale geldiğini ve onları büyütme ve rakiplerine üstünlük sağlama olasılıklarını nasıl artırdığını öğrenmek için bunu okuyun.

CAPTCHA: İnsan-AI Ayrımı İçin Ne Kadar Geçerli Bir Teknik Kalabilir?

CAPTCHA: İnsan-AI Ayrımı İçin Ne Kadar Geçerli Bir Teknik Kalabilir?

CAPTCHA, son birkaç yılda kullanıcıların çözmesi oldukça zorlaştı. Gelecekte spam ve bot tespitinde etkili kalabilecek mi?

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Bilim hızla gelişip birçok çabamızı üstlendikçe, kendimizi açıklanamaz bir Tekilliğe maruz bırakmanın riskleri de artıyor. Okuyun, tekillik bizim için ne anlama gelebilir.

Teletıp ve Uzaktan Sağlık Hizmeti: Gelecek Burada

Teletıp ve Uzaktan Sağlık Hizmeti: Gelecek Burada

Teletıp, uzaktan sağlık hizmetleri ve gelecek nesiller üzerindeki etkisi nedir? Pandemi durumunda iyi bir yer mi değil mi? Bir görünüm bulmak için blogu okuyun!

Hackerların Nasıl Para Kazandığını Hiç Merak Ettiniz mi?

Hackerların Nasıl Para Kazandığını Hiç Merak Ettiniz mi?

Bilgisayar korsanlarının çok para kazandığını duymuş olabilirsiniz, ancak bu kadar parayı nasıl kazandıklarını hiç merak ettiniz mi? Hadi tartışalım.

macOS Catalina 10.15.4 Ek Güncellemesi Çözmekten Daha Fazla Soruna Neden Oluyor

macOS Catalina 10.15.4 Ek Güncellemesi Çözmekten Daha Fazla Soruna Neden Oluyor

Son zamanlarda Apple, sorunları gidermek için macOS Catalina 10.15.4'ü ek bir güncelleme yayınladı, ancak güncelleme, mac makinelerinde tuğla oluşmasına neden olan daha fazla soruna neden oluyor gibi görünüyor. Daha fazla bilgi edinmek için bu makaleyi okuyun