- Serveris su SSH prieiga
- Serveryje veikia „Nginx“ žiniatinklio serveris (taikomas diegimas)
- „Python“
- Jūs esate sudo vartotojas.
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 atnaujinimassudo apt-get upgrade -y
sudo apt-get install python3 python3-pip -y
Tada turime sukurti katalogą projektui išsaugoti.
sudo mkdir / var / www / applicationcd / 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-gunicornDabar 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.pyRedaguokite 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 kolbaapp = 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 programosjei __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 -ysudo 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.konfserveris
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: // programaHTTP / 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.