
Nginx es un servidor web del estilo de lighttpd, donde su proposito principal es servir contenido estatico de manera rapida y eficiente, llegando a tener un desempeño superior al tradicional apache. Fue desarrollado especificamente para el sitio ruso rambler por Igor Sysoev hace ya mas de 5 años, si bien es relativamente nuevo comparado con sus similares, ha venido tomando fuerza y a hoy esta en el 4.7% de los sitios mas visitados.
Dentro de sus caracteristicas HTTP basicas ofrece:
- Servir archivos estaticos e index
- Autoindexado
- Proxy de reversa acelerado, con posibilidad de cache, balanceo de carga simple y tolerancia a fallas
- Soporte acelerado de servidores FastCGI remotos con cache, balanceo de carga simple y tolerancia a fallas
- Arquitectura modular. Filtros incluyendo gzipping, XSLT, SSI y redimensionamiento de imagenes
- Soporte SSL y TLS SNI
Caracteristicas HTTP adicionales:
- Virtual servers basados en Nombre y en Ip
- Soporte a conexiones persistentes
- Configuración flexible
- Reconfiguración y upgrade en linea sin necesidad de detener el servicio
- Definición de formatos personalizados para logs, escritura en log por lotes, rotación rapida de logs
- Redirección de errores con codigo 3xx-5xx
- Modulo de rewrite (comparado con el de apache tiene sus limitaciones)
- Control de acceso basado en la IP del cliente y autenticación basica HTTP
- Streaming de FLV
- Permite configurar limites de conexiones simultaneas o peticiones desde una dirección IP
- Tiene perl embebido
- Un proceso maestro y multiples procesos worker. Los procesos worker se ejecutan como usuario sin privilegios
- 10.000 conexiones HTTP inactivas consumen 2.5M de memoria
- Operaciones de copiado de datos se mantienen al minimo posible
Dentro de las plataformas donde se ha probado se encuentran:
- FreeBSD 3 — 8 / i386; FreeBSD 5 — 8 / amd64;
- Linux 2.2 — 2.6 / i386; Linux 2.6 / amd64;
- Solaris 9 / i386, sun4u; Solaris 10 / i386, amd64, sun4v;
- MacOS X / ppc, i386;
- Windows XP, Windows Server 2003.
En la proxima entrada describire como instalar y configurar Nginx para un sitio web dinamico.
Tags: apache, igor sysoev, nginx, proxy, rambler, reverse proxy, web, webserver