uwsgi
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ů:
- Podpora více jazyků: Kromě Pythonu podporuje také Ruby (Rack), PHP, Perl, Go nebo Lisp.
- Protokol uwsgi: Implementuje vlastní binární protokol, který je mnohem rychlejší než standardní HTTP. Často se používá v kombinaci s webovým serverem (např. Nginx).
- Správa procesů (Preforking): Dokáže efektivně spravovat pracovní procesy (workery), automaticky je restartovat při selhání nebo škálovat podle zátěže.
- Offloading: Schopnost delegovat náročné úlohy (např. odesílání velkých souborů) na speciální vlákna, aby se uvolnili pracovníci pro další požadavky.
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)`
- Nginx se stará o SSL certifikáty a statické soubory.
- uWSGI spouští kód aplikace a spravuje její běh.
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.txt · Poslední úprava: autor: admin
