- Palvelin, jolla on SSH-yhteys
- Nginx-palvelin, joka toimii palvelimella (asennus katettu)
- Python
- Olet sudo-käyttäjä.
Palvelimen määrittäminen
Aloitetaan nyt asettaa palvelinympäristö, jota käytämme palvelimemme isännöimiseen. Tämä opetusohjelma käyttää Ubuntu-palvelinta. Aloita päivittämällä arkistot ja asentamalla Python3 ja Pip.
sudo apt-get -päivityssudo apt-get päivitys -y
sudo apt-get install python3 python3-pip -y
Seuraavaksi meidän on luotava hakemisto projektin tallentamiseksi.
sudo mkdir / var / www / sovelluscd / var / www / application
Hakemiston omistajuuden ja käyttöoikeuksien muuttaminen:
sudo chown -R www-data: www-data / var / www / sovellus /Asenna seuraavaksi paketit apt: lla (pullo ja Gunicorn)
sudo apt-get install python3-pullo python3-gunicornAloitetaan nyt pullosovelluksen alustaminen. Aloita luomalla pää.py-pitää sovelluksen ja wsgi: n.py, joka saa sovelluksen toimimaan.
sudo touch tärkein.py wsgi.pyMuokkaa pääkohtaa.py-tiedosto ja määritä Flask-sovelluksesi ja kaikki reitit. Koska tämä opetusohjelma ei ole pullo-opas, asetamme perusreitin ja hello world -viestin.
pullosta tuontipulloapp = pullo (__ nimi__)
@sovellus.reitti("/")
def koti ():
paluu "
Nginx & Gunicorn
"Muokkaa wsgi: tä.py-tiedosto ja lisää koodi tuoda sovellus ja suorita nimellä:
päätuontisovelluksestajos __nimi__ == "__main__":
sovellus.suorittaa (debug = True)
Testaa lopuksi, onko se käynnissä, kutsumalla pulloa seuraavasti:
$ pullo suoritetaan* Ympäristö: tuotanto
VAROITUS: Tämä on kehityspalvelin. Älä käytä sitä tuotannossa.
Käytä sen sijaan tuotanto-WSGI-palvelinta.
* Virheenkorjaustila: pois päältä
* Käynnissä osoitteessa http: // 127.0.0.1: 5000 / (Lopeta painamalla CTRL + C)
Yritä käyttää sovellusta osoitteessa http: // localhost: 5000.
Gunicornin asettaminen
Kun sovelluksemme on onnistuneesti käynnissä, voimme testata sovellusta Gunicornin avulla komennoilla:
$ sudo gunicorn - työntekijät 5 wsgi: app[2021-03-19 09:19:34 +0000] [14047] [INFO] Käynnistetään ase 20.0.4
[2021-03-19 09:19:34 +0000] [14047] [INFO] Kuuntelu: http: // 127.0.0.1: 8000 (14047)
[2021-03-19 09:19:34 +0000] [14047] [INFO] Työntekijän käyttö: synkronointi
[2021-03-19 09:19:34 +0000] [14049] [INFO] Käynnistystyöntekijä pid: 14049
[2021-03-19 09:19:34 +0000] [14050] [INFO] Käynnistystyöntekijä pidillä: 14050
[2021-03-19 09:19:34 +0000] [14051] [INFO] Käynnistystyöntekijä pid: 14051
[2021-03-19 09:19:34 +0000] [14052] [INFO] Käynnistystyöntekijä, jolla on pid: 14052
[2021-03-19 09:19:35 +0000] [14053] [INFO] Käynnistystyöntekijä, jolla on pid: 14053
Yllä olevat komennot ajaa pullosovelluksen käyttäen Gunicornia käyttämällä määritettyä työntekijämäärää. Sitten kutsumme tiedoston wsgi: app, joka on suoritettavan sovelluksen tiedosto ja esiintymä.
Kun sovellus on käynnissä Gunicornin avulla, pysäytä palvelin ja asenna Nginx painamalla CTRL + C.
Asenna ja suorita Nginx alla olevien komentojen avulla.
sudo apt-get asenna nginx -ysudo systemctl Käynnistä nginx
sudo systemctl ota nginx käyttöön
Seuraava vaihe on muokata Nginx-määritystä sivustoja käyttävässä hakemistossa ja lisätä palvelinlohko. Harkitse seuraavaa kokoonpanoa. Muuta sovellus projektisi nimeksi.
sudo nano / etc / nginx / sites-available / application.konfpalvelin
kuunnella 80;
palvelimen_nimi -sovellus;
access_log / var / log / nginx / sovellus.pääsy.Hirsi;
error_log / var / log / nginx / appliation.virhe.Hirsi;
sijainti /
sisältävät välityspalvelinparametrit;
proxy_pass http: // unix: / var / www / application / application.sukka;
Jatka luomalla linkki sivustoa käyttävään hakemistoon, jotta verkkosivusto otetaan käyttöön.
sudo ln -s / etc / nginx / sites-available / application.conf / etc / nginx / sivustot käytössä /Käynnistä Nginx-palvelu uudelleen seuraavasti:
sudo systemctl käynnistä nginx uudelleenSeuraavaksi meidän on luotava systemd-yksikkötiedosto sovellusta palvelemaan.
sudo nano / etc / systemd / system / application.palvelu[Yksikkö]
Kuvaus = sovellus.palvelu - Gunicornin kanssa suoritettava pullo-sovellus.
Jälkeen = verkko.kohde
[Palvelu]
Käyttäjä = www-data
Ryhmä = www-data
WorkingDirectory = / var / www / sovellus /
ExecStart = / usr / bin / gunicorn - työntekijät 3 --bind unix: / var / www / application.sukka wsgi: app
[Asentaa]
WantedBy = monikäyttäjä.kohde
Tallenna lopuksi yksikkötiedosto, ota sitten käyttöön ja lataa daemon uudelleen.
sudo systemctl käynnistä sovellus uudelleen.palvelusudo systemctl daemon-reload
Nyt voit käyttää sovellusta käyttämällä IP-osoitetta tai nginx-määritystiedostossa määritettyä osoitetta. Sinun on ehkä lisättävä se isännän tiedostoon.
käpristää http: // sovellusHTTP / 1.1200 OK
Palvelin: Werkzeug / 0.16.1 Python / 3.8.5)
Päivämäärä: pe, 19. maaliskuuta 2021 10:00:39 GMT
Sisältötyyppi: teksti / html
Sisällön pituus: 25
Muokattu viimeksi: 19. maaliskuuta 2021 09:22:47 GMT
Johtopäätös
Tässä opetusohjelmassa kerrotaan, miten Python Flask -sovellus asennetaan ja sitä käytetään Nginxissä Gunicornin avulla. Harkitse yksittäisiä asiakirjoja saadaksesi lisätietoja tässä opetusohjelmassa käsitellyistä palveluista.