Nginx

Kaip naudoti Nginx su kolba.

Kaip naudoti Nginx su kolba.
„Python“ yra puiki, lengvai išmokstama ir visagalė programavimo kalba, o su tokiomis sistemomis kaip „Django“ ir „Flask“ galime ją naudoti kurdami visavertes žiniatinklio programas. Kai sukursime žiniatinklio programą naudodamiesi bibliotekomis ir sistemomis, tokiomis kaip „Flask“, turime ją priglobti serveryje ir atidaryti visuomenei. Šioje pamokoje aptariama, kaip priglobti žiniatinklio programą serveryje, kuriame veikia „Nginx“, naudojant „Gunicorn“. Prieš pradėdami naudoti „Flask and Gunicorn“, įsitikinkite, kad atitinkate šiuos reikalavimus:

Serverio nustatymas

Dabar pradėkime nustatyti serverio aplinką, kurią naudosime savo serveriui priglobti. Šioje pamokoje naudojamas „Ubuntu Server“. Pirmiausia atnaujinkite saugyklas ir įdiekite „Python3“ ir „Pip“.

sudo apt-get atnaujinimas
sudo apt-get upgrade -y
sudo apt-get install python3 python3-pip -y

Tada turime sukurti katalogą projektui išsaugoti.

sudo mkdir / var / www / application
cd / var / www / application

Katalogo nuosavybės ir leidimų keitimas:

sudo chown -R www-duomenys: www-data / var / www / application /

Tada įdiekite paketus naudodami apt (flask and Gunicorn)

sudo apt-get install python3-kolba python3-gunicorn

Dabar pradėkime kolbos naudojimą. Pradėkite nuo pagrindinio kūrimo.py-turi paraišką ir wsgi.py, dėl kurio programa bus paleista.

sudo touch pagrindinis.py wsgi.py

Redaguokite pagrindinį.py failą ir nustatykite „Flask“ programą bei visus maršrutus. Kadangi ši pamoka nėra „Flask“ vadovas, mes nustatysime pagrindinį maršrutą ir „labas pasaulis“ pranešimą.

iš kolbos importo kolba
app = kolba (__ vardas__)
@app.maršrutas („/“)
def home ():
grįžti "

Nginx & Gunicorn

"

Redaguokite wsgi.py failą ir pridėkite kodą, kad importuotumėte programą, ir paleiskite kaip:

iš pagrindinės importo programos
jei __pavadinimas = = "__main__":
programa.paleisti (derinti = tiesa)

Galiausiai patikrinkite, ar jis veikia ir veikia, skambindami į kolbą kaip:

$ kolba paleista
* Aplinka: gamyba
ĮSPĖJIMAS: Tai kūrimo serveris. Nenaudokite jo diegdami.
Vietoj to naudokite gamybinį WSGI serverį.
* Derinimo režimas: išjungtas
* Veikia http: // 127.0.0.1: 5000 / (Norėdami mesti, paspauskite CTRL + C)

Pabandykite pasiekti programą adresu http: // localhost: 5000.

Gunicorno nustatymas

Kai mūsų programa sėkmingai veikia, galime naudoti „Gunicorn“, kad išbandytume programą naudodami komandas:

$ sudo gunicorn - darbininkai 5 wsgi: ap
[2021-03-19 09:19:34 +0000] [14047] [INFO] Pradedantis ginklaveikslis 20.0.4
[2021-03-19 09:19:34 +0000] [14047] [INFO] Klausymas: http: // 127.0.0.1: 8000 (14047)
[2021-03-19 09:19:34 +0000] [14047] [INFO] Darbuotojo naudojimas: sinchronizuoti
[2021-03-19 09:19:34 +0000] [14049] [INFO] Įkrovos darbuotojas su pid: 14049
[2021-03-19 09:19:34 +0000] [14050] [INFO] Įkrovos darbuotojas su pid: 14050
[2021-03-19 09:19:34 +0000] [14051] [INFO] Įkrovos darbuotojas su pid: 14051
[2021-03-19 09:19:34 +0000] [14052] [INFO] Įkrovos darbuotojas su pid: 14052
[2021-03-19 09:19:35 +0000] [14053] [INFO] Įkrovos darbuotojas su pid: 14053

Pirmiau nurodytos komandos paleidžia kolbos programą naudodamos „Gunicorn“, naudodamos nurodytą darbuotojų skaičių. Tada mes vadiname failą wsgi: app, kuris yra paleistinos programos failas ir egzempliorius.

Kai programa bus paleista naudojant „Gunicorn“, paspauskite CTRL + C, kad sustabdytumėte serverį ir nustatytumėte „Nginx“.

Norėdami įdiegti ir paleisti „Nginx“, naudokite toliau pateiktas komandas.

sudo apt-get install nginx -y
sudo systemctl pradėti nginx
sudo systemctl įjungti nginx

Kitas žingsnis - redaguoti „Nginx“ konfigūraciją svetainėse, kuriose įgalinta svetainė, ir pridėti serverio bloką. Apsvarstykite šią konfigūraciją. Pakeiskite programą į savo projekto pavadinimą.

sudo nano / etc / nginx / sites-available / application.konf
serveris
klausytis 80;
server_name programa;
access_log / var / log / nginx / application.prieiga.žurnalas;
error_log / var / log / nginx / appliation.klaida.žurnalas;
vieta /
įtraukti proxy_params;
proxy_pass http: // unix: / var / www / application / application.kojinė;

Norėdami įgalinti svetainę, sukurkite nuorodą į katalogą, kuriame įgalinta svetainė.

sudo ln -s / etc / nginx / sites-available / application.conf / etc / nginx / įgalintos svetainės /

Dabar paleiskite „Nginx“ paslaugą iš naujo:

sudo systemctl paleiskite iš naujo „nginx“

Tada turime sukurti „systemd unit“ failą, kad galėtume aptarnauti programą.

sudo nano / etc / systemd / system / application.paslaugą
[Vienetas]
Aprašas = programa.paslauga - kolbos programa, vykdoma kartu su „Gunicorn“.
Po = tinklas.taikinys
[Paslauga]
Vartotojas = www duomenys
Grupė = www duomenys
„WorkingDirectory“ = / var / www / application /
„ExecStart“ = / usr / bin / gunicorn - darbininkai 3 - „unix“: / var / www / application.kojinė wsgi: ap
[Diegti]
WantedBy = daugeliui vartotojų.taikinys

Galiausiai išsaugokite vieneto failą, tada įjunkite ir įkelkite deemoną.

sudo systemctl paleiskite programą iš naujo.paslaugą
sudo systemctl daemon-reload

Dabar galite pasiekti programą naudodami IP adresą arba adresą, nurodytą „nginx“ konfigūracijos faile. Gali reikėti jį pridėti prie pagrindinio kompiuterio failo.

susisukti http: // programa
HTTP / 1.1 200 gerai
Serveris: Werkzeug / 0.16.1 „Python“ / 3.8.5)
Data: 2021 m. Kovo 19 d., Penktadienis, 10:00:39 GMT
Turinio tipas: tekstas / html
Turinio ilgis: 25
Paskutinį kartą modifikuota: 2021 m. Kovo 19 d., Penktadienį, 09:22:47 GMT

Išvada

Šioje pamokoje apžvelgta, kaip nustatyti „Python Flask“ programą ir ją pateikti „Nginx“ naudojant „Gunicorn“. Apsvarstykite individualius dokumentus, kad sužinotumėte daugiau apie šioje pamokoje aptartas paslaugas.

Kaip rodyti OSD perdangą viso ekrano „Linux“ programose ir žaidimuose
Žaisdami viso ekrano žaidimus arba naudodamiesi programomis be išsiblaškymo viso ekrano režimu, galite nutraukti nuo susijusios sistemos informacijos,...
5 geriausios žaidimų fiksavimo kortos
Visi mes matėme ir pamėgome srautinius žaidimus „YouTube“. „PewDiePie“, „Jakesepticye“ ir „Markiplier“ yra tik vieni iš geriausių žaidėjų, kurie uždir...
Kaip sukurti žaidimą „Linux“
Prieš dešimtmetį nedaugelis „Linux“ vartotojų numatė, kad jų mėgstama operacinė sistema vieną dieną bus populiari komercinių vaizdo žaidimų žaidimų pl...