Nginx es un proxy invertido con capacidades de web server , que como es obvio tiene la capacidad de poner a disposición de una red (o internet) sitios web tanto estáticos como dinámicos. Hoy día es el segundo servidor web más extendido en uso y ganando terreno a su principal competencia, Apache, día tras día.

El porqué de su preferencia reside principalmente en la cantidad de tráfico que es capaz de gestionar, pero antes de avanzar veamos un poco de dónde viene. Nginx fue desarrollado por Igor Sysoev en 2002, un programador ruso, que tras el lanzamiento de esta herramienta fundó la empresa Nginx Inc. que cuenta con sedes en U.S.A. y Rusia (país natal del Sr Sysoev), siendo esta empresa la que gestiona todo el mantenimiento de este servidor proxy.

Su implantación inicial se dio en Rusia impulsando proyectos que requerían gestionar grandes cantidades de tráfico, notándose entonces el potencial que podía llegar a ofrecer. Y hablando de lo que puede llegar a ofrecer, aquí algunos aspectos en los que destaca Nginx :

  • HTTP y HTTPS

  • SMTP, POP3 e IMAP

  • El proxy inverso ayuda con el balanceo de carga distribuyendo las peticiones y almacenando en caché parte del contenido.

  • Cuenta con caché para solicitudes HTTP

  • Facilita el uso de URL con posibilidad de usar expresiones regulares

  • Función de rastreo y seguimiento de los usuarios

  • Actúa como web server si fuese necesario

  • Soporta TLS/SSL y similares

  • Ofrece cierta tolerancia a fallos

  • Nos permite realizar streaming de archivos FLV o MP4 de forma nativa

  • Cuenta con un compresor gzip

  • Por supuesto tiene soporte para gestionar y configurar IPv6

  • Proporciona un proxy de correo con SMTP, POP3 e IMAP

  • Soporta servidores virtuales

Si tras leer la lista de funcionalidades que nos ofrece esta herramienta que además es open source , sigues preguntándote por qué deberías implantarla en tus proyectos, puede servirte como referencia algunas compañías que han notado todo lo que podría aportarles, quizás alguna os suene, como podría ser Netflix, Wordpress, Dropbox, Yandex…

Cierto es que lo más común es encontrarse con Apache en este apartado de las configuraciones, y que apostar por usar Nginx parece algo arriesgado y hasta demencial para aquellos que siempre nadan a favor de la corriente y sigue a las masas en su andar… Pero, y es un gran pero, si nos vamos a las cifras, claramente podremos comprobar cómo esta herramienta gana usuarios día a día. Más concretamente, según el reporte de Diciembre de 2015 de Netcraft (Analistas de sitios web y herramientas varias del sector), Nginx cuenta con una cuota de mercado de casi el 24% (23,94%) entre los sitios con más tráfico a nivel mundial, superando ampliamente incluso a Google o Microsoft.

Otra cifra importante es la cantidad de tráfico que es capaz de gestionar , dejando prácticamente en ridículo a Apache cuando los enfrentamos en una gráfica con las solicitudes a las que es capaz de atender.

Imagen 0 en Nginx vs Apache

Esto en gran parte es gracias a su caché de solicitudes , ya que mientas que un servidor Apache denegará peticiones a sitios web que aloje cuando su servidor esté saturado, Nginx almacenará esas solicitudes y las seguirá atendiendo sin mermar la capacidad ni interrumpir el funcionamiento del hosting .

A estas alturas puede que os preguntéis que si es una herramienta tan funcional, cómo es que no la encontramos en la mayoría de servicios de hosting existentes a lo largo y ancho de la red. La respuesta es sencilla, Nginx necesita interoperar con el usuario final para ciertos aspectos, mientras que Apache es más “independiente”, cosa que para un servicio que ofrece alojamiento a multitud de sitios diferentes, es menos problemático a la hora de hacer mantenimientos y configuraciones.

Por supuesto una vez configurado no tendremos que estar continuamente “tratando” con Nginx, pero ese tiempo de configuración es un tiempo de trabajo que se ahorran servicios donde todo se trata de automatizar lo máximo posible.

Que por cierto, la configuración de Nginx y la automatización de procesos son dos puntos importantes en el curso que inicia en breve Openwebinars.net , donde podréis aprender cómo configurar servidores web de forma eficiente y con las herramientas más solicitadas en el mercado laboral hoy día.

Otro punto a favor de Nginx, es su capacidad de adaptación, contando con soporte para Linux, OS X, BSD, Windows, Solaris… y con unos requisitos de hardware ridículos (128Mb de RAM, unos pocos megas para la herramienta y otros tantos para la caché, que ya dependerá de cuánto queramos dedicar).