que-es-nginx

Nginx es un servidor web y algo más, ya que tiene distintos usos además del principal, aunque todos están relacionados con un mejor desempeño de los sitios que necesitan un alto rendimiento y una gran demanda de recursos. Vamos a ver todo lo que puedes hacer con Nginx, cómo funciona y en que situaciones puedes utilizarlo para mejorar la respuesta de tu web, incluso cómo combinarlo con otros servidores web si fuera necesario.


Qué es Nginx y cómo funciona

TABLA DE CONTENIDOS


¿Qué es Nginx?

Como hemos dicho antes, Nginx es un servidor web, por cierto, se pronuncia engine-ex, es un software Open Source, así que puede instalarse en cualquier servidor sin tener que pagar ninguna licencia.

Hay una opción de pago llamada Nginx Plus, pero la versión gratuita es la más utilizada.

También hemos comentado que es un servidor web, "...y algo más" y es que Nginx tiene otras funciones de uso. Estas son las más habituales:

  • Servidor web
  • Proxy inverso para HTTP y HTTPS
  • Balanceador de carga entre servidores

Una de las cualidades más importantes de Nginx como servidor web es que es capaz de soportar múltiples conexiones simultaneas, algo que otros servidores web no pueden soportar.

Esto significa que, cuando hay mucho tráfico en una web y hay muchas conexiones concurrentes, Nginx puede servirlas con mucha más soltura que otros servidores web, que son incapaces de hacerlo cuando las conexiones concurrentes llegan a cierto límite.

Nginx es capaz de trabajar con más de 10 mil conexiones concurrentes, así que sitios web que tengan esta demanda, usan Nginx como servidor.

Apple, Netflix o Cloudflare, entre otros, hace uso de Nginx en algunas de sus secciones, ya que son sitios que tiene que gestionar muchas peticiones al mismo tiempo y Nginx funciona muy bien en situaciones de alta demanda y disponibilidad.

contratar-vps-mini

Cómo funciona Nginx

El consumo de memoria RAM de Nginx es realmente bajo, esto es otro punto a favor para Nginx, ya que las webs actuales, con todo ese dinamismo que tanto nos gusta a los usuarios, son auténticas devoradoras de RAM.

Esto se consigue trabajando de forma asincrónica, en lugar de sincrónica.

Si un servidor trabaja de forma sincrónica, sólo puede gestionar una solicitud cada vez, es decir, cada vez que el navegador web realiza una petición, el servidor la recibe y la procesa para poder responder, cuando termina con una petición, sigue con otra y así sucesivamente.

Al trabajar de forma asincrónica, Nginx puede atender distintas solicitudes al mismo tiempo, mejorando mucho las peticiones concurrentes de distintas tareas.

Desde un proceso maestro, puede gestionar distintos procesos de trabajo o hilos y servir la misma información a los hilos que estén solicitando lo mismo, acelerando el proceso y pudiendo gestionar miles de peticiones sin verse mermado el rendimiento del servidor por la saturación de peticiones.

Esto también le sirve para gestionar de una manera muy rápida el contenido estático de una web, como las imágenes, los vídeos, HTML, CSS, etc.... algo que se puede aprovechar usándolo como proxy inverso.

El balanceo de la carga es otra de las cualidades de Nginx, ya que se puede configurar para distribuir la peticiones entre distintos servidores que compartan la misma información, así si un servidor está muy saturado, puede enviar la petición a otro que tenga más recursos disponibles.

Nginx también puede utilizarse como proxy para IMAP y POP, así como SMTP y puede trabajar con las versiones de IP: IPv4 y IPv6.

 

¿Es mejor Nginx o Apache?

Existe un debate sobre si es mejor usar Nginx como servidor web, en lugar del popular Apache, que es el servidor web con más solera que podemos encontrar en el mundo Open Source.

Apache es un viejo conocido en los servidores web, es potente, muy fiable, con muchos años a su espalda y una gran comunidad de usuarios. Es el servidor web más compatible que puedes encontrar.

Hasta hace poco, la cuota de mercado de Apache era la más elevada. Los desarrolladores y usuarios preferían fiarse de la experiencia de Apache antes de usar otros tipos de servidores web.

Si ahora vemos las estadísticas de W3techs, en lo referente al uso de servidores web y al menos en el momento de realizar este artículo, Nginx supera a Apache por poco, así que es el servidor web más utilizado, repetimos, en estos momentos.

nginx-comparativa-uso-servidores

Su gran rendimiento y su carácter Open Source ha convencido a muchos usuarios para instalarlo en sus servidores y por eso es tan popular.

En contrapartida... ¿te imaginas configurar un hosting sin archivo .htaccess?, pues Nginx no tiene archivo htaccess, ni ningún otro archivo de configuración adicional.

Esto hace todo un poco más complejo a la hora de configurar una aplicación web, pensando en WordPress, por ejemplo, en el que sus plugins hacen un uso intensivo del .htaccess.

No significa que no se pueda configurar, pero los cambios de configuración se realizan desde los archivos de configuración del servidor.

Esta es uno de los motivos por los que Nginx es tan bueno en momentos de alto rendimiento, no acepta archivos de configuración externos.

 

Apache con Nginx como Proxy Inverso

Ya hemos visto que Nginx es un servidor web excelente en momentos de muchas peticiones y con el contenido estático de la web, pero no es tan sencillo de usar como Apache al no ser compatible con archivos de configuración, como htaccess.

La solución que optan muchos es combinar lo mejor de los dos mundos y trabajar conjuntamente con Apache y Nginx.

Con esta configuración se usa Apache como servidor web y se utiliza la característica de proxy inverso de Nginx para servir el contenido estático de la web, acelerando mucho el proceso de la entrega del contenido.

Un proxy inverso se pone en medio de la petición del navegador o aplicación y el servidor y utiliza la caché para servir el contenido que no sea dinámico, así libera de esa acción al servidor web y puede entregar antes el contenido.

Mientras tanto, la configuración de la aplicación instalada en el servidor, como, por ejemplo, WordPress, se sigue realizando desde el Apache y el archivo htaccess.

Esta combinación es muy popular y la utilizan multitud de sitios web, aunque se requieren amplios conocimientos para poder configurarla correctamente, pero mejora considerablemente el rendimiento de los sitios.

 

Conclusión

Si la tu web tiene mucha demanda de procesos y necesitas un alto rendimiento, Nginx es una opción muy interesante que puedes utilizar, su capacidad para gestionar múltiples conexiones simultaneas es inigualable y su consumo de memoria RAM muy bajo, lo que supone una inversión menor en los recursos del servidor.

Pero si necesitas una mayor compatibilidad o necesitas utilizar la configuración del archivo htaccess, siempre puedes usar la combinación de Apache y Nginx con su función de proxy inverso para aprovechar su capacidad para gestionar múltiples conexiones simultáneas y entrega de contenido estático.

contratar-vps-mini




Imagen

Hosting Web

Lanza tu proyecto a la red. Desde 2,48 € al mes podrás tener visible tu negocio en Internet ¿A qué esperas?

Dominios

El primer paso de un negocio en Internet es contar con un dominio. ¡Regístralo!

Imagen

Certificado SSL

Protege tu web, gana posiciones en Google y aumenta tus ventas y clientes.

Imagen

Hosting WordPress

Para páginas corporativas y ecommerce hechos en WordPress. Configuración específica y backups diarios.
AXARNET COMUNICACIONES S.L | Lee nuestro Aviso Legal y nuestra Política de Cookies | Echa un vistazo a nuestras Condiciones Generales de Contratación

Continúa con tu compra

¿Es la primera vez que compras?

Si ya eres cliente de Axarnet