Už nějakou dobu používám na všech svých serverech místo Apache Nginx. Nginx zcele Apache nahradil a přinesl další nové možnosti, které Apache implemetoval velice nevhodně a v podstatě nepoužitelně. Respektive z pohledu jak to funguje pod Nginxem mi připadá řešení Apache jako nepoužitelné, těžkopádné, neškálovatelné a prostě nevhodné.
Ja jasné, že Nginx umí PHP a vše co souvisí s klasickým webem. To ale nebyl důvod proč jsem hledal něco jiného než je Apache. Mým důvodem bylo spouštění Python webových aplikací přímo na serveru. A později NodeJS aplikací. Potřeboval jsem reverzní proxy cache, která by se jednoduše konfigurovala a fungovala.
Zadání bylo jasné: na serveru běží na nějakém portu (nebo na více portech) nějaká rádoby www aplikace. To je ta, která skrze nějaký streem komunikuje s prohlížečem návštěvníka. Klasicky: 80 port na nějaké webové adrese je potřeba přesměrovat právě dle URL na požadovanou aplikaci běžící na serveru, která se postará o odbavení požadavku a předpokládá se, že pošle nějaká data zpět. To vše v reálu pro několik (třeba i tisíce) konkurenčních požadavků.
Photo bylo důležité, aby reverzní proxy uměla přicházející požadavky směrovat na více instancí dané aplikace běžící třeba na úplně jiných strojích. Tohle Nginx zvládá úplně skvěle.
Nginx a JavaScript
S Nginxem se toho na straně odbavení requestu dá dělat docela hodně. A teď ještě víc. Implementují vlastní, značně ořezaný JavaScript, který má umžnit ještě více možností ve smyslu zpracování proudících požadavků skrze Nginx server.
Více informací o samotném JavaScript interpeteru nejdete zde.