Kā iestatīt Gunicorn Python tīmekļa lietojumprogrammu apkalpošanai

Šajā rakstā mēs iestatīsim VPS, lai apkalpotu Python tīmekļa lietojumprogrammas ar Gunicorn un Nginx kā reverso starpniekserveri. Mēs izmantojam Nginx kā apgriezto starpniekserveri, nevis apkalpojam tieši ar Gunicorn, lai novērstu DoS uzbrukumus Gunicorn. Izmantojot Nginx, tiek nodrošināta arī labāka veiktspēja (ar starpniekservera buferizāciju) un tiek apstrādāts vairāk pieprasījumu.

Darba sākšana

Šajā apmācībā tiek pieņemts, ka jums jau ir instalēta, atjaunināta un aizsargāta virtuālā mašīna ar Ubuntu 14.04 vai jaunāku versiju.

  • Mūsu Nginx gadījums darbosies HTTP portā 80 (bet jūs varat viegli jaunināt uz HTTPS).
  • Mūsu piemērā Python lietotne klausīsies portā 8080. Šis ports tiks slēgts iptables, lai novērstu attālo piekļuvi.
  • Šai apmācībai vajadzētu darboties citos distros ar minimālām izmaiņām.

Instalēt pip, virtualenv:

apt-get install python-pip python-virtualenv

Aizvērt portu 8080. Gunicorn varēs sasniegt tikai Nginx.

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

Izveidojiet jaunu mapi un konfigurējiet mūsu lietojumprogrammu. Mēs izmantosim Flask sistēmu.

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

Izveidojiet pieteikuma failu.

nano myapplication.py 

Ielīmējiet iekšpusē:

from flask import Flask
app = Flask(__name__)

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

Tādējādi tiktu izveidota vienkārša lapa ar uzrakstu "Sveiks, Vultr!" kad kāds piekļūst lapai. Tagad sāciet Gunicorn. Aizstājiet xar 2 reizēm lielāku jūsu virtuālās mašīnas CPU kodolu skaitu.

gunicorn -w x myapplication:app &

Instalējiet Nginx un konfigurējiet reverso starpniekserveri.

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

Atrodiet location / {rindiņu un aizstājiet saturu iekavās ar šādu saturu.

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

Šī konfigurācija uzdod Nginx pārsūtīt daļu informācijas (HTTP protokolu, attālo IP adresi) kopā ar faktisko pieprasījumu Gunicorn serverim. Pārlādēt Nginx.

service nginx reload

Šobrīd jūsu lietojumprogramma Gunicorn ir pareizi konfigurēta. Tam var piekļūt, izmantojot tīmekļa pārlūkprogrammu vietnē http://your-vps-ip/.

Atstājiet komentāru

Mašīnu pieaugums: AI reālās pasaules lietojumi

Mašīnu pieaugums: AI reālās pasaules lietojumi

Mākslīgais intelekts nav nākotnē, tas ir šeit, tagadnē. Šajā emuārā lasiet, kā mākslīgā intelekta lietojumprogrammas ir ietekmējušas dažādas nozares.

DDOS uzbrukumi: īss pārskats

DDOS uzbrukumi: īss pārskats

Vai arī jūs esat DDOS uzbrukumu upuris un esat neizpratnē par profilakses metodēm? Izlasiet šo rakstu, lai atrisinātu savus jautājumus.

Vai esat kādreiz domājis, kā hakeri pelna naudu?

Vai esat kādreiz domājis, kā hakeri pelna naudu?

Iespējams, esat dzirdējuši, ka hakeri pelna daudz naudas, bet vai esat kādreiz domājuši, kā viņi nopelna šādu naudu? pārrunāsim.

Google revolucionāri izgudrojumi, kas atvieglos jūsu dzīvi.

Google revolucionāri izgudrojumi, kas atvieglos jūsu dzīvi.

Vai vēlaties redzēt revolucionārus Google izgudrojumus un to, kā šie izgudrojumi mainīja katra cilvēka dzīvi mūsdienās? Pēc tam lasiet emuārā, lai redzētu Google izgudrojumus.

Piektdiena: kas notika ar AI vadītām automašīnām?

Piektdiena: kas notika ar AI vadītām automašīnām?

Pašpiedziņas automobiļu koncepcija izbraukt uz ceļiem ar mākslīgā intelekta palīdzību ir mūsu sapnis jau kādu laiku. Bet, neskatoties uz vairākiem solījumiem, tie nekur nav redzami. Lasiet šo emuāru, lai uzzinātu vairāk…

Tehnoloģiskā singularitāte: cilvēces civilizācijas tāla nākotne?

Tehnoloģiskā singularitāte: cilvēces civilizācijas tāla nākotne?

Zinātnei strauji attīstoties, pārņemot lielu daļu mūsu pūļu, palielinās arī risks pakļaut sevi neizskaidrojamai singularitātei. Izlasiet, ko singularitāte varētu nozīmēt mums.

Lielo datu atsauces arhitektūras slāņu funkcijas

Lielo datu atsauces arhitektūras slāņu funkcijas

Lasiet emuāru, lai vienkāršākā veidā uzzinātu dažādus lielo datu arhitektūras slāņus un to funkcijas.

Datu glabāšanas evolūcija – infografika

Datu glabāšanas evolūcija – infografika

Datu uzglabāšanas metodes ir attīstījušās kopš datu dzimšanas. Šajā emuārā ir aprakstīta datu uzglabāšanas attīstība, pamatojoties uz infografiku.

6 brīnišķīgas priekšrocības, ko sniedz viedo mājas ierīču izmantošana mūsu dzīvē

6 brīnišķīgas priekšrocības, ko sniedz viedo mājas ierīču izmantošana mūsu dzīvē

Šajā digitālajā pasaulē viedās mājas ierīces ir kļuvušas par būtisku dzīves sastāvdaļu. Šeit ir daži pārsteidzoši viedo mājas ierīču ieguvumi, lai padarītu mūsu dzīvi dzīves vērtu un vienkāršāku.

MacOS Catalina 10.15.4 papildinājuma atjauninājums rada vairāk problēmu nekā to risināšana

MacOS Catalina 10.15.4 papildinājuma atjauninājums rada vairāk problēmu nekā to risināšana

Nesen Apple izlaida macOS Catalina 10.15.4 papildinājuma atjauninājumu, lai novērstu problēmas, taču šķiet, ka atjauninājums rada vairāk problēmu, kas izraisa Mac datoru bloķēšanu. Izlasiet šo rakstu, lai uzzinātu vairāk