Nginx, una de las mejores alternativas entre los servidores web

3min

Cuando se habla de servidores web (básicamente, el software que escucha las  peticiones de páginas web y las atiende), lo más habitual es que pensemos en Apache, la opción más extendida. Sin embargo, entre las alternativas, destaca Nginx, una opción Open Source de alto rendimiento, muy ligera y flexible.

Índice

¿Qué es Nginx?

Nginx es un servidor web de alto rendimiento, capaz de trabajar junto con diversas tecnologías de desarrollo y lenguajes. La asincronía es sus característica fundamental, junto con su rapidez, ya que es un servidor web ligero. Todo ello, sin reducir el amplio rango de funcionalidades del servidor: avanzadas y, sobre todo, muy flexibles. Es capaz de adaptarse a muchas situaciones distintas y fue pensado desde el primer día para atender grandes necesidades de tráfico. Puede servir páginas con programación del lado del servidor, con lenguajes como PHP, aunque es muy utilizado también para servir archivos estáticos.

Cuando hablamos de Nginx es inevitable compararlo con Apache, ya que tradicionalmente Apache ha sido, y sigue siendo, el servidor web más utilizado. Sin embargo, Nginx ha sido capaz de solucionar algunos asuntos en los que Apache tiene peor rendimiento, como la concurrencia. Nginx es, de entrada y en máquinas similares, capaz de administrar más accesos concurrentes de lo que podría hacer Apache, con menores requisitos de memoria.

Además de mero servidor web, Nginx suele también configurarse como proxy inverso, sirviendo como capa intermedia entre el cliente y el servidor de aplicaciones. Es muy habitual, por ejemplo, que sirva como capa intermedia a un servidor programado con NodeJS, permitiendo una mejor gestión de los recursos back-end y aumentando la seguridad. Paralelamente, las configuraciones y casos de uso de Nginx son capaces de ofrecer soluciones encaminadas a la escalabilidad de las aplicaciones, como el balanceo de carga o el cacheo de páginas.

 Nginx en Servidores Cloud

Disponer de un Nginx en un Servidor Cloud nos aportará mayores beneficios de los que ya ofrece por sí mismo este servidor web. Su escalabilidad y rendimiento  se verá multiplicado al  sumarle la elasticidad de la infraestructura. Y, además, al ser muy ligero, podremos empezar con una máquina de pocos recursos y aumentarlo para facilitar su funcionamiento en situaciones de mayor demanda.

Lo más habitual es instalar Nginx una configuración ajustada a los  sitios web desarrollados con PHP, en la que se prima el rendimiento y la escalabilidad. Entre otros, puede venir acompañado de phpMyAdmin, SQLite, ImageMagick, FastCGI, Memcache, GD, CURL, PEAR, PECL y otras bibliotecas y packs habituales en el desarrollo. Entre sus complementos más habituales,  también podríamos destacar:

  • PHP-FPM.

Es un modo de configuración del intérprete de PHP pensado para aumentar el rendimiento. Básicamente permite cachear peticiones, que permanecen en la memoria por un tiempo, de modo que si se vuelven a producir, se envía el contenido de caché. Esto reduce la carga del servidor y permite atender a un mayor número de clientes con los mismos recursos. Es útil para todo tipo de webs, pero fundamentalmente le sacarán mayor partido aquellas con un volumen de tráfico más elevado.

  • LEMP

Es el nombre del stack habitual para trabajar con PHP usando Nginx como servidor. Está compuesto por los elementos Linux, Nginx, MySQL y PHP y se contrapone habitualmente con el más conocido LAMP.

Fernán García de Zúñiga

Productos relacionados: