Definição
NGINX (pronuncia-se "engine-x") é um servidor web open source de alta performance e proxy reverso que alimenta uma grande parcela da web moderna. Ele serve arquivos estáticos diretamente, faz proxy de tráfego para backends de aplicação como PHP-FPM, Node.js e servidores Python WSGI/ASGI, termina SSL/TLS, realiza balanceamento de carga entre vários servidores upstream e faz cache de respostas HTTP para reduzir a carga no backend. NGINX é o servidor web padrão na maioria dos VPS e hosts Linux dedicados, tendo superado o Apache como padrão para sites de alto tráfego por conta de sua arquitetura assíncrona e orientada a eventos: um número pequeno e fixo de processos worker lida com milhares de conexões cada um por meio de I/O não bloqueante, em vez do modelo tradicional do Apache de um processo ou thread por conexão, que consome muito mais memória sob carga. Isso importa principalmente acima de algumas centenas de usuários concorrentes; para um site institucional pequeno, a escolha mal faz diferença. A maioria dos hosts gerenciados de WordPress roda NGINX, frequentemente em conjunto com cache FastCGI, por baixo do capô, embora configurações baseadas em .htaccess não se apliquem.
Como funciona
NGINX é configurado por meio de um arquivo de texto hierárquico (nginx.conf) que define servers, locations, upstreams e caches. Ele pode ser apenas servidor web, apenas proxy reverso ou ambos. NGINX Plus é a versão comercial paga com recursos extras; o NGINX open source é o que a maioria dos sites realmente usa.
Por que isso importa
Para conteúdo estático e proxy reverso, o NGINX é mais rápido e leve que o Apache. Para sites de alto tráfego, a diferença importa: o NGINX pode lidar com dezenas de milhares de conexões concorrentes em hardware modesto. A maioria das pilhas de produção hoje usa NGINX na frente de um servidor de aplicação, com o Apache reservado para compatibilidade legada.