Nginx

Ako používať Nginx s bankou.

Ako používať Nginx s bankou.
Python je skvelý, ľahko sa učiteľný a všestranný programovací jazyk a s rámcami ako Django a Flask ho môžeme použiť na vytváranie plnohodnotných webových aplikácií. Len čo vytvoríme webovú aplikáciu pomocou knižníc a rámcov, ako je napríklad Flask, musíme ju hostiť na serveri a sprístupniť verejnosti. Tento tutoriál popisuje, ako hostiť vašu webovú aplikáciu na serveri s Nginx pomocou Gunicorn. Než začneme s programami Flask a Gunicorn, uistite sa, že spĺňate nasledujúce požiadavky:

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ácia
sudo 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ácia
cd / 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-gunicorn

Teraz 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.py

Upravte 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 baniek
apliká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 import
ak __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 -y
sudo 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.konf
server
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žby
sudo 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ácia
HTTP / 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.

Ovládajte a spravujte pohyb myši medzi viacerými monitormi v systéme Windows 10
Správca myši s duálnym displejom umožňuje ovládať a konfigurovať pohyb myši medzi viacerými monitormi spomalením jeho pohybu blízko hranice. Windows 1...
WinMouse vám umožňuje prispôsobiť a vylepšiť pohyb ukazovateľa myši na počítači so systémom Windows
Ak chcete vylepšiť predvolené funkcie kurzora myši, použite freeware WinMouse. Pridáva ďalšie funkcie, ktoré vám pomôžu vyťažiť zo svojej skromnej myš...
Tlačidlo ľavého kliknutia myši nefunguje v systéme Windows 10
Ak používate samostatnú myš s prenosným počítačom alebo stolovým počítačom, ale nefunguje ľavé tlačidlo myši vo Windows 10/8/7 z nejakého dôvodu uvádz...