La programación de nginx estuvo a cargo del desarrollador ruso Igor Sysoev, quien publicaría su primera versión en 2004. Desde entonces, la atención se ha concentrado en el desarrollo de un servidor que se caracterice por un rendimiento muy alto, que sirva al mayor número de clientes posible al mismo tiempo y que, además, consuma la menor cantidad de recursos. Dada la creciente popularidad y proliferación del servidor web, Sysoev crearía, en 2011, nginx Inc. Desde entonces, la empresa comercial es responsable del desarrollo del software y ofrece, además de la versión gratuita estándar, nginx Plus, una versión de pago con servicio de asistencia técnica y funciones adicionales como un servicio de balanceo de carga mejorado.
Como Apache, nginx es un software modular. Esto significa que las diferentes características son presentadas en forma de módulos y, como administrador, pueden ser activadas o desactivadas. Como consecuencia, el usuario goza de las siguientes características:
- Application Acceleration (acelerador de aplicaciones) agiliza la entrega de contenidos.
- Servidor proxy inverso para la aceleración web (HTTP, TCP, UPD) o como proxy de correo electrónico (IMAP, POP3, SMTP).
- Cifrado TLS para una transferencia de datos segura.
- Gestión de ancho de banda para un mejor rendimiento.
- Balanceo de carga con reorientación de solicitudes para disminuir la carga del servidor.
- Streaming de vídeo para reproducir archivos en formato MP4 y FLV.
Mientras que Apache abre un nuevo proceso o hilo para cada solicitud del cliente, nginx trabaja enfocado a eventos. Como consecuencia, puede procesar solicitudes de forma asíncrona, ahorrando memoria y espacio. Este software de servidor es soportado por una gran variedad de sistemas operativos, incluyendo variantes de UNIX / Linux, Mac OS o Windows.