Kaip nustatyti „Gunicorn“ aptarnauti „Python“ žiniatinklio programas

Šiame straipsnyje mes nustatysime VPS, kad būtų galima teikti Python žiniatinklio programas su Gunicorn ir Nginx kaip atvirkštinį tarpinį serverį. Mes naudojame Nginx kaip atvirkštinį tarpinį serverį, o ne aptarnaujame tiesiogiai su Gunicorn, kad išvengtume DoS atakų prieš Gunicorn. Naudojant „Nginx“ taip pat užtikrinamas geresnis našumas (su tarpinio serverio buferizavimu) ir apdorojama daugiau užklausų.

Darbo pradžia

Šioje pamokoje daroma prielaida, kad jau turite VM su įdiegta, atnaujinta ir apsaugota Ubuntu 14.04 ar naujesne versija.

  • Mūsų „Nginx“ egzempliorius veiks naudojant 80 HTTP prievadą (tačiau galite lengvai atnaujinti į HTTPS).
  • Mūsų pavyzdys Python programa klausys 8080 prievado. Šis prievadas bus uždarytas iptables, kad būtų išvengta nuotolinės prieigos.
  • Ši pamoka turėtų būti vykdoma kitose platinimo sistemose su minimaliais pakeitimais.

Įdiegti pip, virtualenv:

apt-get install python-pip python-virtualenv

Uždarykite prievadą 8080. Gunicorn galės pasiekti tik Nginx.

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

Sukurkite naują aplanką ir sukonfigūruokite mūsų programą. Naudosime „Flask“ sistemą.

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

Sukurkite programos failą.

nano myapplication.py 

Įklijuokite šiuos elementus viduje:

from flask import Flask
app = Flask(__name__)

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

Taip atsiras paprastas puslapis su užrašu "Sveiki, Vultr!" kai kas nors patenka į puslapį. Dabar pradėkite Gunicorn. Pakeiskite x2 kartus didesniu VM procesoriaus branduolių skaičiumi.

gunicorn -w x myapplication:app &

Įdiekite „Nginx“ ir sukonfigūruokite atvirkštinį tarpinį serverį.

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

Ieškokite location / {eilutės ir skliausteliuose esantį turinį pakeiskite tokiu turiniu.

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

Ši konfigūracija nurodo Nginx perduoti tam tikrą informaciją (HTTP protokolą, nuotolinį IP adresą) kartu su faktine užklausa Gunicorn serveriui. Iš naujo įkelti Nginx.

service nginx reload

Šiuo metu jūsų Gunicorn programa buvo tinkamai sukonfigūruota. Jį galite pasiekti naudodami žiniatinklio naršyklę adresu http://your-vps-ip/.

Palikti komentarą

Mašinų augimas: AI pritaikymas realiame pasaulyje

Mašinų augimas: AI pritaikymas realiame pasaulyje

Dirbtinis intelektas nėra ateityje, jis čia, dabartyje Šiame tinklaraštyje Skaitykite, kaip dirbtinio intelekto programos paveikė įvairius sektorius.

DDOS atakos: trumpa apžvalga

DDOS atakos: trumpa apžvalga

Ar taip pat esate DDOS atakų auka ir esate sumišęs dėl prevencijos metodų? Perskaitykite šį straipsnį, kad išspręstumėte savo užklausas.

Ar kada nors susimąstėte, kaip įsilaužėliai uždirba pinigų?

Ar kada nors susimąstėte, kaip įsilaužėliai uždirba pinigų?

Galbūt girdėjote, kad įsilaužėliai uždirba daug pinigų, bet ar kada susimąstėte, kaip jie uždirba tokius pinigus? padiskutuokime.

Revoliuciniai „Google“ išradimai, kurie palengvins jūsų gyvenimą.

Revoliuciniai „Google“ išradimai, kurie palengvins jūsų gyvenimą.

Ar norite pamatyti revoliucinius „Google“ išradimus ir kaip šie išradimai pakeitė kiekvieno žmogaus gyvenimą šiandien? Tada skaitykite tinklaraštį, kad pamatytumėte „Google“ išradimus.

Penktadienio esminiai dalykai: kas atsitiko AI varomiems automobiliams?

Penktadienio esminiai dalykai: kas atsitiko AI varomiems automobiliams?

Savavaledžių automobilių koncepcija, kuri išvažiuotų į kelius su dirbtinio intelekto pagalba, yra svajonė, kurią jau kurį laiką svajojame. Tačiau nepaisant kelių pažadų, jų niekur nematyti. Skaitykite šį tinklaraštį, kad sužinotumėte daugiau…

Technologinis išskirtinumas: tolima žmogaus civilizacijos ateitis?

Technologinis išskirtinumas: tolima žmogaus civilizacijos ateitis?

Kadangi mokslas sparčiai vystosi, perimdamas daug mūsų pastangų, taip pat didėja rizika, kad pateksime į nepaaiškinamą singuliarumą. Skaitykite, ką mums gali reikšti išskirtinumas.

Didžiųjų duomenų atskaitos architektūros sluoksnių funkcijos

Didžiųjų duomenų atskaitos architektūros sluoksnių funkcijos

Skaitykite tinklaraštį, kad paprasčiausiai sužinotumėte apie skirtingus didžiųjų duomenų architektūros sluoksnius ir jų funkcijas.

Duomenų saugojimo raida – infografika

Duomenų saugojimo raida – infografika

Duomenų saugojimo metodai gali būti tobulinami nuo pat Duomenų gimimo. Šiame tinklaraštyje, remiantis infografika, aprašoma duomenų saugojimo raida.

6 nuostabūs išmaniųjų namų įrenginių privalumai

6 nuostabūs išmaniųjų namų įrenginių privalumai

Šiame skaitmeniniu būdu pagrįstame pasaulyje išmanieji namų įrenginiai tapo svarbia gyvenimo dalimi. Štai keletas nuostabių išmaniųjų namų įrenginių privalumų, kaip jie daro mūsų gyvenimą vertą gyventi ir paprastesnį.

„macOS Catalina 10.15.4“ priedo atnaujinimas kelia daugiau problemų, nei sprendžia

„macOS Catalina 10.15.4“ priedo atnaujinimas kelia daugiau problemų, nei sprendžia

Neseniai „Apple“ išleido „macOS Catalina 10.15.4“ priedą, skirtą problemoms išspręsti, tačiau atrodo, kad dėl atnaujinimo kyla daugiau problemų, dėl kurių „Mac“ įrenginiai blokuojami. Norėdami sužinoti daugiau, perskaitykite šį straipsnį