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/.

Yorum bırak

CentOS 7de LibreNMS Kullanarak Cihazlarınızı İzleyin

CentOS 7de LibreNMS Kullanarak Cihazlarınızı İzleyin

CentOS 7 üzerinde LibreNMS kullanarak ağ cihazlarınızı etkili bir şekilde izleyin. Ağ izleme için gerekli adımları ve yapılandırmaları öğrenin.

Counter-Strike: Global Offensive Server Nasıl Kurulur?

Counter-Strike: Global Offensive Server Nasıl Kurulur?

Counter-Strike: Global Offensive sunucusu kurmak için gerekli adımlar. Gerekli araçlar ve yükleme süreci hakkında bilgi.

Ubuntu 16.04 LTS Üzerinde OpenNMS Kurulumu

Ubuntu 16.04 LTS Üzerinde OpenNMS Kurulumu

OpenNMS, çok sayıda cihazı izlemek ve yönetmek için kullanılabilen bir açık kaynak ağ yönetim platformudur. Ubuntu 16.04 LTS üzerinde OpenNMS kurulumu için tüm adımları keşfedin.

Ubuntu 16.04te LibreNMS Kullanarak Cihazlarınızı İzleyin

Ubuntu 16.04te LibreNMS Kullanarak Cihazlarınızı İzleyin

Farklı Bir Sistem mi Kullanıyorsunuz? LibreNMS tam özellikli bir açık kaynak ağ izleme sistemidir.

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

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.

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.

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.

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.