Gunicornin asettaminen palvelemaan Python-verkkosovelluksia

Tässä artikkelissa määritämme VPS:n palvelemaan Python-verkkosovelluksia Gunicornilla ja Nginxillä käänteisenä välityspalvelimena. Käytämme Nginxiä käänteisenä välityspalvelimena sen sijaan, että palvelisimme suoraan Gunicornin kanssa estääksemme DoS-hyökkäykset Gunicornia vastaan. Nginxin käyttö parantaa myös suorituskykyä (välityspalvelimen puskuroinnilla) ja lisää pyyntöjen käsittelyä.

Päästä alkuun

Tässä opetusohjelmassa oletetaan, että sinulla on jo VM, johon on asennettu, päivitetty ja suojattu Ubuntu 14.04 tai uudempi.

  • Nginx-instanssimme toimii HTTP-portissa 80 (mutta voit helposti päivittää HTTPS:ään).
  • Esimerkki Python-sovelluksemme kuuntelee porttia 8080. Tämä portti suljetaan iptablesissa etäkäytön estämiseksi.
  • Tämän opetusohjelman pitäisi toimia muissa distroissa pienin muutoksin.

Asentaa pip, virtualenv:

apt-get install python-pip python-virtualenv

Sulje portti 8080. Gunicorn on tavoitettavissa vain Nginxillä.

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

Luo uusi kansio ja määritä sovelluksemme. Käytämme Flask-kehystä.

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

Luo sovellustiedosto.

nano myapplication.py 

Liitä sisään seuraavat:

from flask import Flask
app = Flask(__name__)

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

Tämä tuottaisi yksinkertaisen sivun, jossa lukee "Hei, Vultr!" kun joku tulee sivulle. Aloita nyt Gunicorn. Korvaa xkaksinkertaisella määrällä virtuaalikoneen CPU-ytimiä.

gunicorn -w x myapplication:app &

Asenna Nginx ja määritä käänteinen välityspalvelin.

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

Etsi location / {rivi ja korvaa suluissa oleva sisältö seuraavalla sisällöllä.

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

Tämä konfiguraatio kehottaa Nginxiä välittämään joitakin tietoja (HTTP-protokolla, etä-IP-osoite) varsinaisen pyynnön kanssa Gunicorn-palvelimelle. Lataa Nginx uudelleen.

service nginx reload

Tässä vaiheessa Gunicorn-sovelluksesi on määritetty oikein. Voit käyttää sitä verkkoselaimella osoitteessa http://your-vps-ip/.

Jätä kommentti

Koneiden nousu: tekoälyn todelliset sovellukset

Koneiden nousu: tekoälyn todelliset sovellukset

Tekoäly ei ole tulevaisuudessa, se tässä nykyisyydessä Tässä blogissa Lue kuinka tekoälysovellukset ovat vaikuttaneet eri sektoreihin.

DDOS-hyökkäykset: lyhyt katsaus

DDOS-hyökkäykset: lyhyt katsaus

Oletko myös DDOS-hyökkäysten uhri ja hämmentynyt ehkäisymenetelmistä? Lue tämä artikkeli ratkaistaksesi kysymyksesi.

Oletko koskaan miettinyt, kuinka hakkerit ansaitsevat rahaa?

Oletko koskaan miettinyt, kuinka hakkerit ansaitsevat rahaa?

Olet ehkä kuullut, että hakkerit ansaitsevat paljon rahaa, mutta oletko koskaan miettinyt, kuinka he ansaitsevat tuollaista rahaa? keskustellaan.

Googlen vallankumouksellisia keksintöjä, jotka helpottavat elämääsi.

Googlen vallankumouksellisia keksintöjä, jotka helpottavat elämääsi.

Haluatko nähdä Googlen vallankumouksellisia keksintöjä ja kuinka nämä keksinnöt muuttivat jokaisen ihmisen elämää nykyään? Lue sitten blogia nähdäksesi Googlen keksinnöt.

Essential perjantai: Mitä tekoäly-ohjatuille autoille tapahtui?

Essential perjantai: Mitä tekoäly-ohjatuille autoille tapahtui?

Konsepti itseohjautuvista autoista lähteä tielle tekoälyn avulla on ollut haaveena jo jonkin aikaa. Mutta useista lupauksista huolimatta niitä ei näy missään. Lue tämä blogi saadaksesi lisätietoja…

Teknologinen singulaarisuus: ihmissivilisaation kaukainen tulevaisuus?

Teknologinen singulaarisuus: ihmissivilisaation kaukainen tulevaisuus?

Kun tiede kehittyy nopeasti ja ottaa haltuunsa suuren osan ponnisteluistamme, myös riskit altistaa itsemme selittämättömälle singulariteetille kasvavat. Lue, mitä singulaarisuus voisi tarkoittaa meille.

Big Datan referenssiarkkitehtuurikerrosten toiminnot

Big Datan referenssiarkkitehtuurikerrosten toiminnot

Blogista saat tietää Big Data -arkkitehtuurin eri kerroksista ja niiden toiminnoista yksinkertaisimmalla tavalla.

Tietojen tallennuksen evoluutio – Infografiikka

Tietojen tallennuksen evoluutio – Infografiikka

Tietojen säilytystavat ovat kehittyneet mahdollisesti Datan syntymästä lähtien. Tämä blogi käsittelee tiedon tallennuksen kehitystä infografian pohjalta.

6 uskomatonta etua älykkäiden kotilaitteiden käyttämisestä elämässämme

6 uskomatonta etua älykkäiden kotilaitteiden käyttämisestä elämässämme

Tässä digitaalisessa maailmassa kodin älylaitteista on tullut tärkeä osa elämää. Tässä on muutamia älykkäiden kodin laitteiden hämmästyttäviä etuja, joiden avulla ne tekevät elämästämme elämisen arvoista ja yksinkertaisempaa.

macOS Catalina 10.15.4 -täydennyspäivitys aiheuttaa enemmän ongelmia kuin ratkaiseminen

macOS Catalina 10.15.4 -täydennyspäivitys aiheuttaa enemmän ongelmia kuin ratkaiseminen

Apple julkaisi äskettäin macOS Catalina 10.15.4 -lisäpäivityksen ongelmien korjaamiseksi, mutta näyttää siltä, ​​että päivitys aiheuttaa lisää ongelmia, jotka johtavat mac-koneiden tiilikaamiseen. Lue tämä artikkeli saadaksesi lisätietoja