A Gunicorn beállítása Python webalkalmazások kiszolgálására

Ebben a cikkben egy VPS-t állítunk be a Python webalkalmazások kiszolgálására Gunicorn és Nginx segítségével fordított proxyként. Az Nginxet fordított proxyként használjuk ahelyett, hogy közvetlenül a Gunicornnal szolgálnánk ki, hogy megakadályozzuk a Gunicorn elleni DoS-támadásokat. Az Nginx használata jobb teljesítményt is eredményez (proxy puffereléssel), és több kérés kezelését eredményezi.

Elkezdeni

Ez az oktatóanyag feltételezi, hogy már rendelkezik telepített, frissített és biztonságos Ubuntu 14.04-es vagy újabb verziójú virtuális géppel.

  • Nginx-példányunk a 80-as HTTP-porton fog futni (de könnyen frissíthet HTTPS-re).
  • Példa Python-alkalmazásunk a 8080-as porton figyel. Ez a port zárva lesz az iptables-on a távoli hozzáférés megakadályozása érdekében.
  • Ennek az oktatóanyagnak minimális változtatásokkal más disztribúciókon is futnia kell.

Telepítés pip, virtualenv:

apt-get install python-pip python-virtualenv

Zárja be a 8080-as portot. A Gunicorn csak az Nginx által lesz elérhető.

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

Hozzon létre egy új mappát, és konfigurálja az alkalmazásunkat. A Flask keretrendszert fogjuk használni.

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

Hozza létre az alkalmazásfájlt.

nano myapplication.py 

Illessze be a következőket:

from flask import Flask
app = Flask(__name__)

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

Ez egy egyszerű oldalt hoz létre, amely a következő szöveggel jár: "Hello, Vultr!" amikor valaki belép az oldalra. Most indítsa el a Gunicornt. Cserélje xki a virtuális gép CPU magjainak kétszeresére.

gunicorn -w x myapplication:app &

Telepítse az Nginx-et, és konfigurálja a fordított proxyt.

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

Keresse meg a location / {sort, és cserélje ki a zárójelben lévő tartalmat a következő tartalommal.

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

Ez a konfiguráció arra utasítja az Nginxet, hogy a tényleges kéréssel együtt továbbítson bizonyos információkat (HTTP protokoll, távoli IP-cím) a Gunicorn szervernek. Töltse újra az Nginxet.

service nginx reload

Ezen a ponton a Gunicorn alkalmazás megfelelően konfigurálva van. Egy webböngészővel érheti el a címen http://your-vps-ip/.

Hagyj kommentárt

Egyéni Windows ISO létrehozása frissítésekkel az NTLite használatával

Egyéni Windows ISO létrehozása frissítésekkel az NTLite használatával

Ez az oktatóanyag végigvezeti Önt a Vultrs rendszerekkel kompatibilis Windows ISO létrehozásának folyamatán. Itt megtanulhatja az <>Windows ISO<> előállításának lépéseit az NTLite segítségével.

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A mesterséges intelligencia nem a jövőben, hanem itt a jelenben. Ebben a blogban Olvassa el, hogyan hatott a mesterséges intelligencia alkalmazások különböző ágazatokra.

DDOS támadások: Rövid áttekintés

DDOS támadások: Rövid áttekintés

Ön is DDOS támadások áldozata, és tanácstalan a megelőzési módszereket illetően? Olvassa el ezt a cikket a kérdések megoldásához.

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Talán hallottál már arról, hogy a hackerek sok pénzt keresnek, de elgondolkodtál már azon, hogyan kereshetnek ennyi pénzt? beszéljük meg.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

Szeretné látni a Google forradalmi találmányait, és azt, hogy ezek a találmányok hogyan változtatták meg minden mai ember életét? Ezután olvassa el a blogot, és nézze meg a Google találmányait.

Essential péntek: Mi történt az AI-vezérelt autókkal?

Essential péntek: Mi történt az AI-vezérelt autókkal?

Az önvezető autók koncepciója, hogy mesterséges intelligencia segítségével kerüljenek az utakra, már egy ideje álmunk. De számos ígéret ellenére sehol sem látszanak. Olvassa el ezt a blogot, hogy többet megtudjon…

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Ahogy a tudomány gyors ütemben fejlődik, átveszi erőfeszítéseink nagy részét, megnő annak a kockázata is, hogy alávetjük magunkat egy megmagyarázhatatlan szingularitásnak. Olvassa el, mit jelenthet számunkra a szingularitás.

A Big Data Reference Architecture Layerek funkciói

A Big Data Reference Architecture Layerek funkciói

Olvassa el a blogot, hogy a legegyszerűbb módon ismerje meg a Big Data Architecture különböző rétegeit és azok funkcióit.

Az adattárolás fejlődése – Infografika

Az adattárolás fejlődése – Infografika

Az adatok tárolási módjai az Adatok születése óta alakulhatnak. Ez a blog egy infografika alapján mutatja be az adattárolás fejlődését.

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Ebben a digitálisan vezérelt világban az intelligens otthoni eszközök az élet döntő részévé váltak. Íme az intelligens otthoni eszközök néhány elképesztő előnye, hogyan teszik életünket érdemessé és egyszerűbbé.