Gunicorn instellen om Python-webapplicaties te bedienen

In dit artikel zullen we een VPS opzetten om Python-webapplicaties met Gunicorn en Nginx als reverse proxy te bedienen. We gebruiken Nginx als een reverse proxy in plaats van rechtstreeks bij Gunicorn te dienen om DoS-aanvallen op Gunicorn te voorkomen. Het gebruik van Nginx resulteert ook in betere prestaties (met proxybuffering) en resulteert in meer aanvragen die worden afgehandeld.

Ermee beginnen

Deze tutorial gaat ervan uit dat je al een VM hebt waarop Ubuntu 14.04 of nieuwer is geïnstalleerd, bijgewerkt en beveiligd.

  • Onze Nginx-instantie werkt op HTTP-poort 80 (maar u kunt eenvoudig upgraden naar HTTPS).
  • Onze voorbeeld-Python-app luistert op poort 8080. Deze poort wordt gesloten op iptables om toegang op afstand te voorkomen.
  • Deze tutorial zou met minimale wijzigingen op andere distributies moeten draaien.

Installeren pip, virtualenv:

apt-get install python-pip python-virtualenv

Sluit poort 8080. Gunicorn is alleen bereikbaar via Nginx.

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

Maak een nieuwe map en configureer onze applicatie. We gebruiken het Flask-framework.

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

Maak het toepassingsbestand.

nano myapplication.py 

Plak het volgende binnen:

from flask import Flask
app = Flask(__name__)

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

Dit zou een eenvoudige pagina opleveren met de tekst "Hallo, Vultr!" wanneer iemand de pagina opent. Start nu Gunicorn. Vervang xdoor 2 keer het aantal CPU-kernen van uw VM.

gunicorn -w x myapplication:app &

Installeer Nginx en configureer de reverse proxy.

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

Zoek naar de location / {regel en vervang de inhoud tussen de haakjes door de volgende inhoud.

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

Deze configuratie instrueert Nginx om bepaalde informatie (HTTP-protocol, IP-adres op afstand) samen met het daadwerkelijke verzoek door te sturen naar de Gunicorn-server. Herlaad Nginx.

service nginx reload

Op dit moment is uw Gunicorn-applicatie correct geconfigureerd. U kunt er toegang toe krijgen via een webbrowser op http://your-vps-ip/.



Leave a Comment

Kan AI vechten met toenemend aantal ransomware-aanvallen?

Kan AI vechten met toenemend aantal ransomware-aanvallen?

Ransomware-aanvallen nemen toe, maar kan AI helpen het nieuwste computervirus het hoofd te bieden? Is AI het antwoord? Lees hier weten is AI boezem of vloek

ReactOS: is dit de toekomst van Windows?

ReactOS: is dit de toekomst van Windows?

ReactOS, een open source en gratis besturingssysteem is hier met de nieuwste versie. Kan het voldoen aan de behoeften van moderne Windows-gebruikers en Microsoft uitschakelen? Laten we meer te weten komen over deze oude stijl, maar een nieuwere OS-ervaring.

Blijf verbonden via WhatsApp Desktop-app 24 * 7

Blijf verbonden via WhatsApp Desktop-app 24 * 7

WhatsApp heeft eindelijk de Desktop-app voor Mac- en Windows-gebruikers gelanceerd. Nu heb je eenvoudig toegang tot WhatsApp vanuit Windows of Mac. Beschikbaar voor Windows 8+ en Mac OS 10.9+

Hoe AI procesautomatisering naar een hoger niveau kan tillen?

Hoe AI procesautomatisering naar een hoger niveau kan tillen?

Lees dit om te weten hoe kunstmatige intelligentie populair wordt onder de kleinschalige bedrijven en hoe het de kansen vergroot om ze te laten groeien en hun concurrenten voorsprong te geven.

macOS Catalina 10.15.4 Supplement Update veroorzaakt meer problemen dan het oplost

macOS Catalina 10.15.4 Supplement Update veroorzaakt meer problemen dan het oplost

Onlangs heeft Apple macOS Catalina 10.15.4 uitgebracht, een aanvullende update om problemen op te lossen, maar het lijkt erop dat de update meer problemen veroorzaakt die ertoe leiden dat mac-machines worden gemetseld. Lees dit artikel voor meer informatie

13 Commerciële data-extractietools voor big data

13 Commerciële data-extractietools voor big data

13 Commerciële data-extractietools voor big data

Wat is een logboekbestandssysteem en hoe werkt het?

Wat is een logboekbestandssysteem en hoe werkt het?

Onze computer slaat alle gegevens op een georganiseerde manier op, het zogenaamde Journaling-bestandssysteem. Het is een efficiënte methode waarmee de computer bestanden kan zoeken en weergeven zodra u op zoeken drukt.https://wethegeek.com/?p=94116&preview=true

Technologische singulariteit: een verre toekomst van de menselijke beschaving?

Technologische singulariteit: een verre toekomst van de menselijke beschaving?

Naarmate de wetenschap zich snel ontwikkelt en veel van onze inspanningen overneemt, nemen ook de risico's toe om onszelf te onderwerpen aan een onverklaarbare singulariteit. Lees, wat singulariteit voor ons kan betekenen.

Een inzicht in 26 Big Data-analysetechnieken: deel 1

Een inzicht in 26 Big Data-analysetechnieken: deel 1

Een inzicht in 26 Big Data-analysetechnieken: deel 1

De impact van kunstmatige intelligentie in de gezondheidszorg 2021

De impact van kunstmatige intelligentie in de gezondheidszorg 2021

AI in de zorg heeft de afgelopen decennia grote sprongen gemaakt. De toekomst van AI in de gezondheidszorg groeit dus nog steeds met de dag.