Actualmente, existen muchos software distintos que puedes elegir como servidor para mostrar tu página web.
En productos como los hosting compartidos, el servidor web viene predefinido por tu proveedor de alojamiento.
Sin embargo, existen situaciones en las que te puede interesar una configuración más personalizada, contratando una máquina dedicada en la que puedes elegir el servidor web y modificar sus configuraciones.
Entre las opciones más destacadas como servidor web se encuentran Apache y Nginx.
Nginx es un servidor web (entre otras cosas) open-source de alto rendimiento, lo que lo convierte en una opción muy buena opción para sitios web con alto volumen de tráfico.


No te enviaremos spam, ¡te lo prometemos!. A nuestros suscriptores les enviamos nuestros contenidos sobre WordPress, hosting, marketing digital y programación.
Cómo funciona Nginx
Nginx tiene un modo de funcionamiento asíncrono basado en eventos. A grandes rasgos, esto significa que no tiene que crear un hilo por cada petición web, como hacen otros servidores web.
De esta forma, puede proporcionar un gran rendimiento bajo altas cargas de trabajo, ya que al gestionar las peticiones sin tener que crear nuevos hilos su consumo de recursos (memoria RAM y CPU) es menor para procesar la misma cantidad de tráfico.
Una vez que hayas instalado Nginx, tendrás a tu disposición una serie de comandos o binarios para poder manejar, de forma sencilla, el servidor web. Si quieres arrancarlo, solamente tienes que ejecutar, mediante un terminal, la orden nginx
Cuando Nginx está levantado, si has hecho cambios en su configuración, puedes recargarla con nginx -s reload
Si quieres detener el servicio, la orden nginx -s stop
es suficiente para ello.
Debes tener en cuenta que, en un servidor, un proceso como Nginx no suele manejarse directamente mediante terminal, sino a través del gestor de procesos del sistema operativo, normalmente init/systemd en sistemas Linux. De este modo, los comandos anteriores están más orientados a servidores web de prueba.
Por otro lado, una de las características que hace tan rápido y eficiente a Nginx es que no soporta archivos de configuración adicionales. Así pues, no puedes modificar su comportamiento, como sí harías con Apache, mediante un archivo .htaccess.
Al no rastrear los directorios en busca de archivos de configuración, su rendimiento es más alto, en detrimento de dejar todo a punto para servir tu página web, que te resultará un poco más complejo, ya que las modificaciones que normalmente hacen ciertos CMS (como WordPress) en .htaccess debes realizarlas a mano en los archivos de configuración.
Descubriendo si tu web usa Nginx
Al acceder a un sitio web, este te proporciona muchísima información a través de, por ejemplo, las cabeceras que te devuelve el servidor web. Si quieres saber el servidor web que está utilizando un sitio web, solamente tienes que hacerle una petición y analizar las cabeceras http.
Existen multitud de herramientas que te permiten hacerlo, pero quizá lo más sencillo sea mediante tu navegador o un terminal. En el siguiente extracto puedes apreciar las cabeceras de una petición web a un sitio de pruebas el cual es servido por Nginx. Concretamente, puedes verlo en la cabecera Server
:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | [trabajo@Saicere ~]$ curl raiola.cuentamemilongas.com HTTP/1.1 200 OK Server: nginx Date: Fri, 19 Aug 2022 14:35:43 GMT Content-Type: text/html; charset=UTF-8 Transfer-Encoding: chunked Connection: keep-alive Keep-Alive: timeout=60 Vary: Accept-Encoding X-Powered-By: PHP/8.1.4 Cache-Control: private, must-revalidate pragma: no-cache expires: -1 Set-Cookie: XSRF-TOKEN=eyJpdiI6IlZDNVl4VkM3NnhZak1MVHBlSTVZVFE9PSIsInZhbHVlIjoiSDBrSXRUM29GZ3lKU1owMXB6dzFKYTBiaEJ6Y0Q0WU5YNG1YcndyQW9ydUZHbElhZ3dqbERsVmJFN1FZVlRNNldaM3BUV21Fbm9sMjVQK0VWZWNUZy9saW5tT0EwUmdxNWx4QnRkY1hENEk2Vm1DcVE1dnplN1N5V2R2bHZ0bGYiLCJtYWMiOiI4ZTE4YmVlZmE1ZjEzMjk1MDUxOGM4NTMxOTdhZjIwZmNhNjMzYTUyZmQwY2U0Y2U3NmRlMTQ4ZGFmZDc2ODZlIiwidGFnIjoiIn0%3D; expires=Fri, 19-Aug-2022 16:35:43 GMT; Max-Age=7200; path=/; samesite=lax Set-Cookie: laravel_session=eyJpdiI6IjBvKzd5a3RibC94Zy9kZ0RYSitaMVE9PSIsInZhbHVlIjoicE5KVUV2K014by8yRnQ1aGdhalZqSUZuSEo5OVJVYWdteWUxU1k1Z0M1R25pZUJIcWtmQlFXbUltM3EweXFvU2pycXhrdlNQdWs3UDJtNlJ1Q1B1b2pMZVMza0JXY1NuN0h1bVZnVU5ZNkZDOGVzV2NVMEMvY2kyZmRURlQwL3AiLCJtYWMiOiJmMWI0OGYxYmI3MmRkOWE1MDNiZTliOTg1N2Y3MmQwZmNiMTc0YzY0OTI3YTgxNjgwZDIzOGE4M2RiZWRiNjBjIiwidGFnIjoiIn0%3D; expires=Fri, 19-Aug-2022 16:35:43 GMT; Max-Age=7200; path=/; httponly; samesite=lax |
Funcionalidades adicionales de Nginx
Nginx para servir contenido dinámico
Nginx, por defecto, no sirve contenido dinámico, un básico a día de hoy para cualquier página web, como las páginas web escritas en PHP, python o cualquier otro lenguaje de backend.
Nginx solamente es capaz de ofrecer páginas web estáticas a menos que se le configure algún módulo adicional para poder ofrecer contenidos dinámicos.
Mediante la configuración de php-fpm, podemos ofrecer páginas que creadas con WordPress o cualquier CMS que use PHP como lenguaje de backend.
También tiene módulos, como phusion-passenger, para páginas web desarrolladas con Django o Flask, frameworks de python.
Nginx como proxy inverso
Nginx tiene más funcionalidades, más allá de servir páginas web. En muchos casos, no usarás Nginx como servidor web, sino como proxy inverso para servir archivos estáticos y actuar como servidor caché.
De esta forma, puedes mantener la flexibilidad de Apache como servidor web, que es más amigable porque te permite hacer las modificaciones directamente en el archivo .htaccess, dejando que Nginx se encargue de que los sitios web funcionen lo más rápido y fluido posible.
Además, también puedes usarlo como proxy para servidores de correo electrónico, tanto entrante como saliente (IMAP, POP y SMTP). Si quieres montar una infraestructura de correo electrónico escalable con un gran número de servidores por detrás y un solo punto de entrada, esta es la opción que deberías elegir.
Nginx como balanceador de carga
En entornos de alta disponibilidad, necesitas configurar cierto software que te ayude a servir el tráfico de la forma más rápida posible. Esto suele suceder cuando tu página web ha alcanzado un volumen de tráfico tan elevado que necesita varios servidores para su funcionamiento.
En este tipo de situaciones Nginx es tu aliado, ya que lo puedes configurar para que distribuya todo ese tráfico a los servidores que actuarán como backend de tus aplicaciones.
A grandes rasgos, lo que hace Nginx es determinar a cuál de los servidores web debe derivar la petición que acaba de recibir y esperar la respuesta para devolverla al cliente.
Además, te permite determinar el método con que hacer el balanceo de carga; por ejemplo, mediante un balanceo Round Robin (todos los servidores reciben el mismo número de peticiones) o el método ‘least_connections’, que envía la petición al servidor que tenga menos conexiones en ese momento, entre otros.
Nginx en Raiola Networks
Para montar nuestros servidores de hosting, hemos elegido LiteSpeed como servidor web, como seguramente sabrás. Sin embargo, LiteSpeed tiene un coste de licencia y Nginx es una solución gratuita, a menos que decidas usar Nginx Plus.
Dado que ofrece un alto rendimiento, en Raiola Networks nos hemos decantado por usar un stack Nginx + Apache en nuestros Servidores VPS SSD Optimizados. En este tipo de servidores, Nginx es el encargado de servir todos los archivos estáticos como fotos, vídeos, CSS, etc., de tu página web.
Además, mediante una sencilla configuración, cambiando la «Plantilla proxy» puedes aplicar caché de Nginx a tus páginas web. Sumada a la caché que configures a nivel de aplicación, te ofrecerá un rendimiento excepcional.
Todo esto, junto con la facilidad para instalar aplicaciones como WordPress o PrestaShop en los VPS SSD Optimizados de Raiola Networks, los convierte en una gran elección para páginas web con altas demandas de visitas.
¿Has usado Nginx alguna vez? ¿Cuál es tu experiencia? Cuéntanoslo en los comentarios.
Que tal Alvaro,
Respecto al tema de Nginx, te puedo comentar que yo tengo una web alojada en un servidor con Nginx y realmente la velocidad de carga es muy buena, poco más de 1 segundo, pero me encuentro con un problema importante: La puntuación de Page Speed es realmente mala, sobre los 40 puntos en Mobil y los 50 en Escritorio, principalmente debido a que Google dice que no se está llevando a cabo la compresión Gzip (éste es el primer y más importante punto que me señala Page Speed Insghts o GTMetrix).
Lo curioso es que si analizas la web en checkgzipcompression.com la compresión sí está habilitada.
Tiene Nginx un problema con Page Speed? Por que no detecta la compresión?
Y ya de paso te pregunto:
Ocasiona (en un caso así) la baja puntuación en Page Speed problemas en el posicionamiento? (todo y tener buena velocidad de carga).
Gracias de antemano por tu respuesta!
Un saludo
Dani
Hola Dani, el problema es posible que venga porque te faltan reglas en el archivo de configuración de Nginx para que también se compriman los archivos javascript, ya que por defecto no viene activado.
Te dejo un enlace sobre como activarlo: enlace
Google dice que el PageSpeed influye en el posicionamiento, y es posible que sea un parámetro mas, simplemente debemos de tener un equilibrio entre puntuación de PageSpeed y viabilidad de la web, ya que no siempre es viable tener el 100 de PageSpeed sin dejar la web hecha un asco.
La velocidad de carga afecta en el crawl budget y eso afecta al SEO, tal y como indicamos en este articulo: enlace
Un saludo.
Alvaro,
Gracias por tu respuesta.
Si no voy equivocado el servidor utiliza Plesk y no VestaCP como indicas en el enlace para la activación.
Sabes si se podría utilizar la misma configuración para activar la compresión completa en Plesk?
Gracias de nuevo
Saludos
Dani
Si usas terminal SSH podrías usar el mismo proceso, pero OJO, no se como reacciona Plesk antes este tipo de modificaciones directas, en VestaCP lo hacemos así porque no existe otra forma de hacerlo.
Un saludo.
Ok
Gracias Alvaro
Saludos
Buenas noches Alvaro, justo tenemos el mismo problema con un directorio de empresas que tenemos alojado con vosotros, https://www.todoenlaces.com, la carga es más rápida que en el server antiguo, pero el Pagespeed es de 40 cuando antes era de 92, mismo fallo de la compresión desactivada. Os hemos enviado un ticket para saber donde se ubica el archivo de configuración de ngix.
Hola Mike, espero que ya te hayan contestado al tema del archivo de configuracion.
Sobre el tema de PageSpeed, he estado mirando tu web y dada la forma en la que esta creada la web, o antes tenias mod_pagespeed, o algo raro hay, ya que precisamente tienes problemas de PageSpeed por el tamaño de la web en objetos DOM y por exceso de CSS y eso no es problema del servidor web.
Gracias Alvaro, ahora conseguimos un pagespeed 88, el problema principal era que no teniamos la compresión n-gix activa. Tenemos activo WP Rocket y hemos probado desactivarlo y poner autooptimize, WP Fastest Cache, etc. pero el mejor rendimiento es con WP Rocket.
Si queréis probar cosas en ese sentido, os recomiendo probar el plugin Asset CleanUp: https://es.wordpress.org/pl…
Es bastante avanzado y deja jugar bastante con el JS y el CSS, tanto para cargar async como para mover al footer.
Muchas gracias Alvaro, lo probaremos a ver.