Slik konfigurerer du Gunicorn for å betjene Python-nettapplikasjoner

I denne artikkelen vil vi sette opp en VPS for å betjene Python-webapplikasjoner med Gunicorn og Nginx som en omvendt proxy. Vi bruker Nginx som en omvendt proxy i stedet for å tjene med Gunicorn direkte for å forhindre DoS-angrep på Gunicorn. Bruk av Nginx resulterer også i bedre ytelse (med proxy-buffring), og resulterer i at flere forespørsler blir håndtert.

Starter

Denne opplæringen forutsetter at du allerede har en VM med Ubuntu 14.04 eller nyere installert, oppdatert og sikret.

  • Vår Nginx-forekomst vil kjøre på HTTP-port 80 (men du kan enkelt oppgradere til HTTPS).
  • Vår eksempel Python app vil lytte på port 8080. Denne porten vil bli stengt på iptables for å forhindre ekstern tilgang.
  • Denne opplæringen skal kjøre på andre distroer med minimale endringer.

Installer pip, virtualenv:

apt-get install python-pip python-virtualenv

Lukk port 8080. Gunicorn vil kun være tilgjengelig med Nginx.

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

Opprett en ny mappe og konfigurer applikasjonen vår. Vi bruker Flask-rammeverket.

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

Opprett applikasjonsfilen.

nano myapplication.py 

Lim inn følgende inni:

from flask import Flask
app = Flask(__name__)

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

Dette vil produsere en enkel side som sier "Hei, Vultr!" når noen går inn på siden. Nå, start Gunicorn. Erstatt xmed 2 ganger antallet av VMs CPU-kjerner.

gunicorn -w x myapplication:app &

Installer Nginx og konfigurer omvendt proxy.

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

Søk etter location / {linjen og erstatt innholdet innenfor parentesene med følgende innhold.

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

Denne konfigurasjonen instruerer Nginx til å videresende noe informasjon (HTTP-protokoll, ekstern IP-adresse) sammen med den faktiske forespørselen til Gunicorn-serveren. Last inn Nginx på nytt.

service nginx reload

På dette tidspunktet er Gunicorn-applikasjonen din riktig konfigurert. Du kan få tilgang til den ved å bruke en nettleser på http://your-vps-ip/.

Legg igjen en kommentar

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Kunstig intelligens er ikke i fremtiden, det er her akkurat i nåtiden I denne bloggen Les hvordan kunstig intelligens-applikasjoner har påvirket ulike sektorer.

DDOS-angrep: en kort oversikt

DDOS-angrep: en kort oversikt

Er du også et offer for DDOS-angrep og forvirret over forebyggingsmetodene? Les denne artikkelen for å løse spørsmålene dine.

Har du noen gang lurt på hvordan hackere tjener penger?

Har du noen gang lurt på hvordan hackere tjener penger?

Du har kanskje hørt at hackere tjener mye penger, men har du noen gang lurt på hvordan tjener de den slags penger? la oss diskutere.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Vil du se revolusjonerende oppfinnelser fra Google og hvordan disse oppfinnelsene forandret livet til alle mennesker i dag? Les deretter til bloggen for å se oppfinnelser fra Google.

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Konseptet med selvkjørende biler som skal ut på veiene ved hjelp av kunstig intelligens er en drøm vi har hatt en stund nå. Men til tross for flere løfter, er de ingen steder å se. Les denne bloggen for å lære mer...

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Ettersom vitenskapen utvikler seg raskt og tar over mye av innsatsen vår, øker også risikoen for å utsette oss for en uforklarlig singularitet. Les hva singularitet kan bety for oss.

Funksjonaliteter til Big Data Reference Architecture Layers

Funksjonaliteter til Big Data Reference Architecture Layers

Les bloggen for å kjenne ulike lag i Big Data Architecture og deres funksjoner på den enkleste måten.

Evolusjon av datalagring – infografikk

Evolusjon av datalagring – infografikk

Lagringsmetodene for dataene har vært i utvikling kan være siden fødselen av dataene. Denne bloggen dekker utviklingen av datalagring på grunnlag av en infografikk.

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

I denne digitaldrevne verden har smarthusenheter blitt en avgjørende del av livet. Her er noen fantastiske fordeler med smarthusenheter om hvordan de gjør livet vårt verdt å leve og enklere.

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

Nylig lanserte Apple macOS Catalina 10.15.4 en tilleggsoppdatering for å fikse problemer, men det ser ut til at oppdateringen forårsaker flere problemer som fører til muring av mac-maskiner. Les denne artikkelen for å lære mer