Nginx

Jak používat Nginx s bankou.

Jak používat Nginx s bankou.
Python je skvělý, snadno se naučitelný a všestranný programovací jazyk as rámci, jako je Django a Flask, jej můžeme použít k vytváření plnohodnotných webových aplikací. Jakmile vytvoříme webovou aplikaci pomocí knihoven a frameworků, jako je Flask, musíme ji hostovat na serveru a vystavit ji veřejnosti. Tento kurz popisuje, jak hostovat webovou aplikaci na serveru se systémem Nginx pomocí Gunicorn. Než začneme s Flask a Gunicorn, ujistěte se, že splňujete následující požadavky:

Nastavení serveru

Začněme nyní nastavovat prostředí serveru, které budeme používat k hostování našeho serveru. Tento výukový program používá server Ubuntu. Začněte aktualizací úložišť a instalací Python3 a Pip.

sudo apt-get aktualizace
sudo apt-get upgrade -y
sudo apt-get nainstalovat python3 python3-pip -y

Dále musíme vytvořit adresář pro uložení projektu.

sudo mkdir / var / www / aplikace
cd / var / www / aplikace

Změnit vlastnictví adresáře a oprávnění:

sudo chown -R www-data: www-data / var / www / aplikace /

Dále nainstalujte balíčky pomocí apt (baňka a Gunicorn)

sudo apt-get install python3-flask python3-gunicorn

Pojďme nyní pokračovat v inicializaci baňkové aplikace. Začněte vytvořením hlavní.py-drží aplikaci-a wsgi.py, který spustí aplikaci.

sudo touch hlavní.py wsgi.py

Upravit hlavní.py soubor a nastavte aplikaci Flask a všechny trasy. Vzhledem k tomu, že tento výukový program není průvodcem Flask, nastavíme základní trasu a zprávu o hello světě.

z baňky na dovoz baňky
aplikace = Baňka (__ name__)
@aplikace.trasa("/")
def home ():
vrátit se "

Nginx a Gunicorn

"

Upravte wsgi.py soubor a přidejte kód pro import aplikace a spusťte jako:

z hlavní aplikace pro import
pokud __name__ == "__main__":
aplikace.spustit (debug = True)

Nakonec vyzkoušejte, zda je funkční, voláním baňky jako:

$ baňka
* Prostředí: výroba
UPOZORNĚNÍ: Toto je vývojový server. Nepoužívejte jej v produkčním nasazení.
Místo toho použijte produkční server WSGI.
* Režim ladění: vypnuto
* Spuštěno na http: // 127.0.0.1: 5000 / (Ukončete stisknutím CTRL + C)

Zkuste aplikaci otevřít na adrese http: // localhost: 5000.

Nastavení Gunicorn

Jakmile je naše aplikace úspěšně spuštěna, můžeme ji pomocí Gunicorn otestovat pomocí příkazů:

$ sudo gunicorn --workers 5 wsgi: aplikace
[2021-03-19 09:19:34 +0000] [14047] [INFO] Spuštění gunicorn 20.0.4
[2021-03-19 09:19:34 +0000] [14047] [INFO] Poslech na: http: // 127.0.0.1: 8000 (14047)
[2021-03-19 09:19:34 +0000] [14047] [INFO] Používání pracovníka: synchronizace
[2021-03-19 09:19:34 +0000] [14049] [INFO] Zaváděcí pracovník s pid: 14049
[2021-03-19 09:19:34 +0000] [14050] [INFO] Zaváděcí pracovník s pid: 14050
[2021-03-19 09:19:34 +0000] [14051] [INFO] Zaváděcí pracovník s pid: 14051
[2021-03-19 09:19:34 +0000] [14052] [INFO] Zaváděcí pracovník s pid: 14052
[2021-03-19 09:19:35 +0000] [14053] [INFO] Zaváděcí pracovník s pid: 14053

Výše uvedené příkazy spouští bankovou aplikaci pomocí Gunicorn pomocí zadaného počtu pracovníků. Potom zavoláme soubor wsgi: app, což je soubor a instance aplikace, která se má spustit.

Jakmile máte aplikaci spuštěnou pomocí Gunicorn, stisknutím kombinace kláves CTRL + C zastavte server a nastavte Nginx.

K instalaci a spuštění Nginx použijte níže uvedené příkazy.

sudo apt-get install nginx -y
sudo systemctl start nginx
sudo systemctl povolit nginx

Dalším krokem je úprava konfigurace Nginx v adresáři s povolenými weby a přidání bloku serveru. Zvažte následující konfiguraci. Změňte aplikaci na název vašeho projektu.

sudo nano / etc / nginx / sites-available / application.konf
server
poslouchat 80;
aplikace název_serveru;
přístupový_log / var / log / nginx / aplikace.přístup.protokol;
error_log / var / log / nginx / appliation.chyba.protokol;
místo /
zahrnout proxy_params;
proxy_pass http: // unix: / var / www / aplikace / aplikace.ponožka;

Chcete-li web povolit, pokračujte vytvořením odkazu na adresář s povoleným webem.

sudo ln -s / etc / nginx / sites-available / application.conf / etc / nginx / sites-enabled /

Nyní restartujte službu Nginx jako:

sudo systemctl restart nginx

Dále musíme vytvořit soubor systémové jednotky, který bude aplikaci obsluhovat.

sudo nano / etc / systemd / system / application.servis
[Jednotka]
Popis = aplikace.služba - aplikace Flask spuštěná s Gunicorn.
After = síť.cílová
[Servis]
Uživatel = www-data
Skupina = www-data
WorkingDirectory = / var / www / aplikace /
ExecStart = / usr / bin / gunicorn --workers 3 --bind unix: / var / www / aplikace.ponožka wsgi: aplikace
[Nainstalujte]
WantedBy = více uživatelů.cílová

Nakonec uložte soubor jednotky, poté démona povolte a znovu načtěte.

sudo systemctl restartujte aplikaci.servis
sudo systemctl daemon-reload

Nyní můžete přistupovat k aplikaci pomocí adresy IP nebo adresy uvedené v konfiguračním souboru nginx. Možná jej budete muset přidat do souboru hostitele.

curl http: // aplikace
HTTP / 1.1 200 v pořádku
Server: Werkzeug / 0.16.1 Python / 3.8.5)
Datum: Pá, 19. března 2021, 10:00:39 GMT
Typ obsahu: text / html
Délka obsahu: 25
Poslední úprava: Pá, 19. března 2021 09:22:47 GMT

Závěr

Tento tutoriál přešel o tom, jak nastavit aplikaci Python Flask a sloužit jí přes Nginx pomocí Gunicorn. Zvažte individuální dokumentaci, kde se dozvíte více o službách popsaných v tomto kurzu.

Hry Jak nainstalovat League Of Legends na Ubuntu 14.04
Jak nainstalovat League Of Legends na Ubuntu 14.04
Pokud jste fanouškem League of Legends, pak je to pro vás příležitost otestovat běh League of Legends. Všimněte si, že LOL je podporován na PlayOnLinu...
Hry Nainstalujte si nejnovější strategickou hru OpenRA na Ubuntu Linux
Nainstalujte si nejnovější strategickou hru OpenRA na Ubuntu Linux
OpenRA je herní engine Libre / Free Real Time Strategy, který obnovuje rané hry Westwood, jako je klasický Command & Conquer: Red Alert. Distribuované...
Hry Nainstalujte si nejnovější Dolphin Emulator pro Gamecube a Wii na Linuxu
Nainstalujte si nejnovější Dolphin Emulator pro Gamecube a Wii na Linuxu
Emulátor Dolphin vám umožní hrát vybrané hry Gamecube a Wii na osobních počítačích se systémem Linux (PC). Jako volně dostupný herní emulátor s otevř...