Obsah

uWSGI

uWSGI je vysoce výkonný aplikační server a projekt zaměřený na budování plnohodnotného stacku pro síťové aplikace. Ačkoliv je nejznámější jako server pro aplikace v jazyce Python (přes rozhraní WSGI), jedná se o univerzální nástroj podporující mnoho jazyků a protokolů.

Je napsán v čistém jazyce C, což mu zajišťuje minimální režii a extrémní stabilitu.

Klíčové funkce

uWSGI není jen jednoduchý server, ale komplexní nástroj pro správu procesů:

Typické zapojení v infrastruktuře

V produkčním prostředí se uWSGI málokdy používá samostatně. Obvykle stojí v řadě za reverzní proxy:

`Uživatel (Browser) ←→ Nginx (Reverzní proxy) ←→ uWSGI ←→ Webová aplikace (např. Django/Flask)`

Srovnání: WSGI vs. uwsgi vs. uWSGI

Často dochází k pletení těchto podobných názvů:

Pojem Význam
WSGI Standard (protokol) pro komunikaci mezi Pythonem a webovým serverem.
uwsgi Rychlý binární protokol pro přenos dat mezi proxy a aplikačním serverem.
uWSGI Samotný software (server), který oba výše zmíněné pojmy implementuje.

Příklad konfigurace (.ini)

uWSGI se často konfiguruje pomocí souborů INI:

[uwsgi]
module = myapp.wsgi:application
master = true
processes = 4
socket = /tmp/myapp.sock
chmod-socket = 660
vacuum = true
die-on-term = true

Související pojmy: Python, Server, HTTP