- SSH-juurdepääsuga server
- Nginx veebiserver töötab serveris (install on kaetud)
- Python
- Olete sudo kasutaja.
Serveri seadistamine
Alustame nüüd serverikeskkonna seadistamist, mida kasutame oma serveri majutamiseks. Selles õpetuses kasutatakse Ubuntu Serverit. Alustage hoidlate värskendamisega ning installige Python3 ja Pip.
sudo apt-get värskendussudo apt-get upgrade -y
sudo apt-get install python3 python3-pip -y
Järgmisena peame looma kataloogi projekti salvestamiseks.
sudo mkdir / var / www / rakenduscd / var / www / rakendus
Kataloogi omaniku ja lubade muutmine:
sudo chown -R www-andmed: www-data / var / www / application /Seejärel installige paketid apt (flask ja Gunicorn) abil
sudo apt-get install python3-kolb python3-gunicornJätkame kolbirakenduse initsialiseerimist. Alustage peamise loomisega.py-omab rakendust ja wsgi.py, mis käivitab rakenduse.
sudo touch peamine.py wsgi.pyMuutke peamist.py fail ja seadistage oma Flaski rakendus ning kõik marsruudid. Kuna see õpetus ei ole Kolbi juhend, siis paneme paika põhitee ja tere maailma sõnumi.
kolbi importimiskolbrakendus = Kolb (__ nimi__)
@app.tee("/")
def home ():
tagasi "
Nginx & Gunicorn
"Muutke wsgi-d.py fail ja lisage kood rakenduse importimiseks ning käivitage järgmiselt:
peamisest impordirakendusestkui __nimi__ == "__main__":
rakendus.käivita (silumine = tõene)
Lõpuks testige, kas see on töökorras, helistades kolbi järgmiselt:
$ kolbi jookse* Keskkond: tootmine
HOIATUS: See on arendusserver. Ärge kasutage seda tootmise juurutamisel.
Kasutage selle asemel tootmise WSGI-serverit.
* Silumisrežiim: välja lülitatud
* Töötab saidil http: // 127.0.0.1: 5000 / (lõpetamiseks vajutage klahvikombinatsiooni CTRL + C)
Proovige rakendusele juurde pääseda aadressil http: // localhost: 5000.
Gunicorni seadistamine
Kui meie rakendus on edukalt töötanud, saame Gunicorni abil rakendust testida käskude abil:
$ sudo gunicorn - töötajad 5 wsgi: rakendus[2021-03-19 09:19:34 +0000] [14047] [INFO] Alustades püssist 20.0.4
[2021-03-19 09:19:34 +0000] [14047] [INFO] Kuulamine: http: // 127.0.0.1: 8000 (14047)
[2021-03-19 09:19:34 +0000] [14047] [INFO] Töötaja kasutamine: sünkroonimine
[2021-03-19 09:19:34 +0000] [14049] [INFO] Buutimistöötaja pid: 14049
[2021-03-19 09:19:34 +0000] [14050] [INFO] Buutimistöötaja pid: 14050
[2021-03-19 09:19:34 +0000] [14051] [INFO] Buutimistöötaja pid: 14051
[2021-03-19 09:19:34 +0000] [14052] [INFO] Buutimistöötaja pid: 14052
[2021-03-19 09:19:35 +0000] [14053] [INFO] Buutimistöötaja pid: 14053
Ülaltoodud käsud käitavad kolvirakendust Gunicorni abil, kasutades määratud arvu töötajaid. Seejärel kutsume faili wsgi: app, mis on käivitatava rakenduse fail ja eksemplar.
Kui olete rakenduse Gunicorn abil töötanud, vajutage serveri peatamiseks ja Nginxi seadistamiseks klahvikombinatsiooni CTRL + C.
Nginxi installimiseks ja käivitamiseks kasutage allolevaid käske.
sudo apt-get install nginx -ysudo systemctl start nginx
sudo systemctl lubab nginxi
Järgmine samm on Nginxi konfiguratsiooni muutmine saidil lubatud kataloogis ja serveriploki lisamine. Mõelge järgmisele konfiguratsioonile. Muutke rakendus oma projekti nimeks.
sudo nano / etc / nginx / sites-available / application.konfserver
kuulata 80;
server_name rakendus;
access_log / var / log / nginx / rakendus.juurdepääs.palk;
error_log / var / log / nginx / appliation.viga.palk;
asukoht /
hõlmata puhverserverparameetreid;
proxy_pass http: // unix: / var / www / application / application.sokk;
Veebisaidi lubamiseks jätkake saidi toega kataloogi lingi loomisega.
sudo ln -s / etc / nginx / sites-available / application.conf / etc / nginx / saidid lubatud /Taaskäivitage Nginxi teenus järgmiselt:
sudo systemctl taaskäivitage nginxJärgmisena peame looma rakenduse teenindamiseks faili systemd unit.
sudo nano / etc / systemd / system / application.teenus[Üksus]
Kirjeldus = rakendus.teenus - Gunicorniga käitatav kolvirakendus.
Pärast = võrk.sihtmärk
[Teenus]
Kasutaja = www-andmed
Grupp = www-andmed
WorkingDirectory = / var / www / rakendus /
ExecStart = / usr / bin / gunicorn - töötajad 3 --bind unix: / var / www / application.sokk wsgi: app
[Install]
WantedBy = mitme kasutajaga.sihtmärk
Lõpuks salvestage ühikfail, seejärel lubage ja laadige deemon uuesti.
sudo systemctl taaskäivitage rakendus.teenussudo systemctl deemon-reload
Nüüd saate rakendusele juurde pääseda, kasutades IP-aadressi või nginxi konfiguratsioonifailis määratud aadressi. Võimalik, et peate selle lisama hosti faili.
keerake http: // rakendusHTTP / 1.1 200 OK
Server: Werkzeug / 0.16.1 Python / 3.8.5)
Kuupäev: R, 19. märts 2021 10:00:39 GMT
Sisu tüüp: tekst / HTML
Sisu pikkus: 25
Viimati muudetud: R, 19. märts 2021 09:22:47 GMT
Järeldus
Selles õpetuses käsitleti Python Flaski rakenduse seadistamist ja Gunicorni abil Nginxis serveerimist. Selles õpetuses käsitletud teenuste kohta lisateabe saamiseks kaaluge individuaalset dokumentatsiooni.