- Poslužitelj s SSH pristupom
- Nginx web poslužitelj pokrenut na poslužitelju (instalacija pokrivena)
- Piton
- Vi ste sudo korisnik.
Postavljanje poslužitelja
Počnimo sada postavljati poslužiteljsko okruženje koje ćemo koristiti za hostiranje našeg poslužitelja. Ovaj vodič koristi Ubuntu poslužitelj. Započnite ažuriranjem spremišta i instaliranjem Python3 i Pip.
sudo apt-get ažuriranjesudo apt-get upgrade -y
sudo apt-get instalirati python3 python3-pip -y
Dalje, moramo stvoriti direktorij za pohranu projekta.
sudo mkdir / var / www / applicationcd / var / www / aplikacija
Promjena vlasništva i dozvola direktorija:
sudo chown -R www-data: www-data / var / www / application /Zatim instalirajte pakete koristeći apt (tikvicu i Gunicorn)
sudo apt-get instaliraj python3-tikvicu python3-gunicornKrenimo sada s inicijalizacijom aplikacije tikvice. Započnite s izradom glavnog.py-drži aplikaciju-i wsgi.py, što će pokrenuti aplikaciju.
sudo touch glavni.py wsgi.pyUredite glavno.py datoteku i postavite aplikaciju Flask i sve rute. Budući da ovaj vodič nije vodič za tikvicu, postavit ćemo osnovnu rutu i poruku zdravog svijeta.
iz tikvice uvoz Tikvicaapp = tikvica (__ ime__)
@app.ruta ("/")
def home ():
povratak "
Nginx i Gunicorn
"Uredite wsgi.py datoteku i dodajte kod za uvoz aplikacije i pokrenite kao:
iz glavne aplikacije za uvozako je __name__ == "__glavno__":
app.pokrenite (otklanjanje pogrešaka = True)
Na kraju, testirajte je li pokrenut pozivajući tikvicu kao:
$ tikvica pokrenuta* Okoliš: proizvodnja
UPOZORENJE: Ovo je razvojni poslužitelj. Nemojte ga koristiti u proizvodnoj implementaciji.
Umjesto toga upotrijebite proizvodni WSGI poslužitelj.
* Način otklanjanja pogrešaka: isključen
* Trčanje na http: // 127.0.0.1: 5000 / (Pritisnite CTRL + C za izlaz)
Pokušajte pristupiti aplikaciji na http: // localhost: 5000.
Postavljanje Gunicorna
Nakon što naša aplikacija bude uspješno pokrenuta, možemo koristiti Gunicorn za testiranje aplikacije pomoću naredbi:
$ sudo gunicorn --radnici 5 wsgi: app[2021-03-19 09:19:34 +0000] [14047] [INFO] Početni gunicorn 20.0.4
[2021-03-19 09:19:34 +0000] [14047] [INFO] Slušam na: http: // 127.0.0.1: 8000 (14047)
[2021-03-19 09:19:34 +0000] [14047] [INFO] Korištenje radnika: sink
[2021-03-19 09:19:34 +0000] [14049] [INFO] Radnik na dizanju s pid-om: 14049
[2021-03-19 09:19:34 +0000] [14050] [INFO] Radnik na dizanju s pid-om: 14050
[2021-03-19 09:19:34 +0000] [14051] [INFO] Radnik na dizanju s pid-om: 14051
[2021-03-19 09:19:34 +0000] [14052] [INFO] Radnik na dizanju s pid-om: 14052
[2021-03-19 09:19:35 +0000] [14053] [INFO] Radnik na dizanju s pid-om: 14053
Gornje naredbe pokreću aplikaciju tikvice koristeći Gunicorn koristeći navedeni broj radnika. Zatim datoteku nazivamo wsgi: app, koja je datoteka i instanca aplikacije koju treba pokrenuti.
Nakon što pokrenete aplikaciju pomoću Gunicorna, pritisnite CTRL + C da biste zaustavili poslužitelj i postavili Nginx.
Upotrijebite donje naredbe za instaliranje i pokretanje Nginxa.
sudo apt-get instalirati nginx -ysudo systemctl start nginx
sudo systemctl omogućiti nginx
Sljedeći je korak uređivanje Nginx konfiguracije u direktoriju s omogućenim web lokacijama i dodavanje bloka poslužitelja. Razmotrite sljedeću konfiguraciju. Promijenite aplikaciju u naziv vašeg projekta.
sudo nano / etc / nginx / web stranice dostupne / aplikacija.konfposlužitelj
slušati 80;
aplikacija ime_poslužitelja;
access_log / var / log / nginx / application.pristup.trupac;
error_log / var / log / nginx / application.pogreška.trupac;
lokacija /
uključuju proxy_params;
proxy_pass http: // unix: / var / www / application / application.čarapa;
Nastavite stvarati vezu do direktorija na kojem je omogućeno web mjesto kako biste omogućili web mjesto.
sudo ln -s / etc / nginx / sites-available / application.conf / etc / nginx / sites-enabled /Sada ponovo pokrenite Nginx uslugu kao:
sudo systemctl ponovno pokrenite nginxDalje, moramo stvoriti datoteku systemd jedinice koja će služiti aplikaciji.
sudo nano / etc / systemd / system / application.servis[Jedinica]
Opis = prijava.usluga - aplikacija Flask pokrenuta s Gunicorn-om.
Nakon = mreža.cilj
[Servis]
Korisnik = www-podaci
Grupa = www-podaci
WorkingDirectory = / var / www / application /
ExecStart = / usr / bin / gunicorn --radnici 3 --vezati unix: / var / www / application.čarapa wsgi: app
[Instalirati]
WantedBy = višekorisnički.cilj
Konačno, spremite datoteku jedinice, a zatim omogućite i ponovo učitajte demon.
sudo systemctl ponovno pokretanje aplikacije.servissudo systemctl daemon-reload
Sada aplikaciji možete pristupiti pomoću IP adrese ili adrese navedene u konfiguracijskoj datoteci nginx. Možda ćete ga trebati dodati u datoteku hosta.
uvijanje http: // aplikacijaHTTP / 1.1 200 OK
Poslužitelj: Werkzeug / 0.16.1 Python / 3.8.5)
Datum: pet, 19. ožujka 2021. 10:00:39 GMT
Vrsta sadržaja: text / html
Duljina sadržaja: 25
Posljednja izmjena: petak, 19. ožujka 2021. 09:22:47 GMT
Zaključak
Ovaj je vodič prešao o tome kako postaviti aplikaciju Python Flask i poslužiti je preko Nginxa koristeći Gunicorn. Razmotrite pojedinačnu dokumentaciju da biste saznali više o uslugama o kojima se govori u ovom vodiču.