- Server s prístupom SSH
- Webový server Nginx bežiaci na serveri (pokrytá inštalácia)
- Python
- Ste používateľom sudo.
Nastavenie servera
Začnime teraz nastavovať prostredie servera, ktoré budeme používať na hosťovanie nášho servera. Tento výukový program používa server Ubuntu. Začnite aktualizáciou úložísk a inštaláciou programov Python3 a Pip.
sudo apt-get aktualizáciasudo apt-get upgrade -y
sudo apt-get nainštalovať python3 python3-pip -y
Ďalej musíme vytvoriť adresár na uloženie projektu.
sudo mkdir / var / www / aplikáciacd / var / www / aplikácia
Zmena vlastníctva a povolení adresára:
sudo chown -R www-data: www-data / var / www / application /Ďalej nainštalujte balíčky pomocou apt (banka a Gunicorn)
sudo apt-get nainštalovať python3-flask python3-gunicornTeraz pokračujme v inicializácii banky. Začnite vytvorením hlavnej.py-drží aplikáciu-a wsgi.py, ktorý uvedie aplikáciu do chodu.
sudo touch hlavný.py wsgi.pyUpravte hlavné.py súbor a nastavte svoju aplikáciu Flask a všetky trasy. Pretože tento návod nie je sprievodcom po banke, nastavíme základnú trasu a správu ahoj svet.
z banky na dovoz baniekaplikácia = banka (__ meno__)
@app.trasa („/“)
def home ():
vrátiť sa “
Nginx a Gunicorn
„Upravte wsgi.py súbor a pridajte kód na importovanie aplikácie a spustite ako:
z hlavnej aplikácie na importak __name__ == "__main__":
aplikácia.spustiť (ladenie = pravda)
Nakoniec vyskúšajte, či je funkčný, zavolaním banky ako:
$ spustenie banky* Životné prostredie: výroba
UPOZORNENIE: Toto je vývojový server. Nepoužívajte ho pri produkčnom nasadení.
Namiesto toho použite produkčný server WSGI.
* Režim ladenia: vypnutý
* Beží na http: // 127.0.0.1: 5 000 / (ukončíte ju stlačením klávesov CTRL + C)
Skúste pristúpiť k aplikácii na adrese http: // localhost: 5000.
Nastavuje sa Gunicorn
Keď je naša aplikácia úspešne spustená, môžeme ju pomocou Gunicornu otestovať pomocou príkazov:
$ sudo gunicorn --workers 5 wsgi: aplikácia[2021-03-19 09:19:34 +0000] [14047] [INFO] Spustenie gunicorn 20.0.4
[2021-03-19 09:19:34 +0000] [14047] [INFO] Počúvanie na: http: // 127.0.0.1: 8000 (14047)
[2021-03-19 09:19:34 +0000] [14047] [INFO] Používanie pracovníka: synchronizácia
[2021-03-19 09:19:34 +0000] [14049] [INFO] Booting worker with pid: 14049
[2021-03-19 09:19:34 +0000] [14050] [INFO] Booting worker with pid: 14050
[2021-03-19 09:19:34 +0000] [14051] [INFO] Booting worker with pid: 14051
[2021-03-19 09:19:34 +0000] [14052] [INFO] Booting worker with pid: 14052
[2021-03-19 09:19:35 +0000] [14053] [INFO] Booting worker with pid: 14053
Vyššie uvedené príkazy spúšťajú bankovú aplikáciu pomocou Gunicorn s použitím zadaného počtu pracovníkov. Potom zavoláme súbor wsgi: app, čo je súbor a inštancia aplikácie, ktorá sa má spustiť.
Keď máte aplikáciu spustenú pomocou Gunicorn, stlačte kombináciu klávesov CTRL + C a zastavte server a nastavte Nginx.
Pomocou nasledujúcich príkazov nainštalujte a spustite program Nginx.
sudo apt-get nainštalovať nginx -ysudo systemctl start nginx
sudo systemctl povoliť nginx
Ďalším krokom je úprava konfigurácie Nginx v adresári povolenom stránkami a pridanie bloku servera. Zvážte nasledujúcu konfiguráciu. Zmeňte aplikáciu na názov vášho projektu.
sudo nano / etc / nginx / sites-available / application.konfserver
počúvať 80;
aplikácia server_name;
prístupový_log / var / log / nginx / aplikácia.prístup.guľatina;
error_log / var / log / nginx / appliation.chyba.guľatina;
miesto /
zahrnúť proxy_params;
proxy_pass http: // unix: / var / www / application / application.ponožka;
Ak chcete povoliť webovú stránku, pokračujte vytvorením odkazu na adresár s povolenou stránkou.
sudo ln -s / etc / nginx / sites-available / application.conf / etc / nginx / sites-enabled /Teraz reštartujte službu Nginx ako:
sudo systemctl restart nginxĎalej musíme vytvoriť súbor systémovej jednotky, ktorý bude slúžiť aplikácii.
sudo nano / etc / systemd / system / application.služby[Jednotka]
Popis = aplikácia.služba - Aplikácia Flask spustená s Gunicorn.
Po = sieť.cieľ
[Služba]
Užívateľ = www-data
Skupina = údaje www
WorkingDirectory = / var / www / application /
ExecStart = / usr / bin / gunicorn --workers 3 --bind unix: / var / www / aplikácia.ponožka wsgi: aplikácia
[Inštalácia]
WantedBy = viac používateľov.cieľ
Nakoniec uložte súbor jednotky, potom povoľte a znovu načítajte démona.
sudo systemctl reštartovať aplikáciu.službysudo systemctl daemon-reload
Teraz máte prístup k aplikácii pomocou adresy IP alebo adresy uvedenej v konfiguračnom súbore nginx. Možno ho budete musieť pridať do súboru hostiteľa.
zvlnenie http: // aplikáciaHTTP / 1.1 200 v poriadku
Server: Werkzeug / 0.16.1 Python / 3.8.5)
Dátum: piatok, 19. marca 2021, 10:00:39 GMT
Typ obsahu: text / html
Obsahová dĺžka: 25
Posledná zmena: Pi, 19. marca 2021, 09:22:47 GMT
Záver
V tomto výučbe sa dozviete, ako nastaviť aplikáciu Python Flask a slúžiť jej cez Nginx pomocou Gunicorn. V individuálnej dokumentácii nájdete ďalšie informácie o službách, o ktorých sa hovorí v tomto výučbe.