En mi artículo anterior exploré por qué PHP7 es el camino a seguir para WordPress y en el artículo de hoy es el turno del servidor web.
Una gran parte de una buena experiencia de alojamiento es cómo se configura la pila del servidor web. Tener una pila rápida es fundamental para un buen rendimiento de WordPress y una excelente experiencia de usuario. Ya he hablado de por qué PHP7 es una forma tan buena de mejorar automáticamente el rendimiento de WordPress, pero ¿qué pasa con el servidor web real?
Hoy voy a explicar: ¿qué es un servidor web, cuáles son los más populares y por qué nginx es tan bueno?
El servidor web
Uno de los aspectos más importantes del alojamiento es la Servidor web. El servidor web es responsable de proporcionar contenido estático como HTML y enviarlo al cliente (es decir, directamente en su navegador). Por lo tanto, el servidor web también será responsable de procesar toda la información que llega a través del procesador PHP y convertirla en bits que viajan a través de la red a su navegador. La pila del servidor web funciona con modelo cliente / servidor donde el servidor web actúa como servidor (proveedor de contenido) y el cliente (usted) el que lo solicita.
Los servidores web más comunes son Apache, IIS de Microsoft y por supuesto nginx.
El servidor web puede manejar contenido estático y dinámico que se envía al cliente con algunas ligeras diferencias. La parte del servidor se carga en la memoria en lo que se llama un trabajador proceso y es responsable de proporcionar el contenido solicitado. Tanto Apache como nginx manejan contenido estático y dinámico. Si bien Apache puede manejar ambos dentro del mismo proceso de trabajo, nginx no lo hace, ya que necesita un procesador externo para hacerlo.
¿Por qué Apache y nginx son tan populares? La respuesta simple es porque son de código abierto y gratuitos. Juntos representan casi el 50% de todo el tráfico del mundo, ¡no es una tarea fácil!
¿Qué es Apache?
los apache El servidor HTTP fue creado por Robert McCool en 1995 y aún está en desarrollo bajo la Apache Software Foundation. Este servidor web ha sido la opción más popular desde 1996. Tiene un diseño muy modular, tiene toneladas de documentación y es tan popular que es la base de todos los principales paneles de control de alojamiento web. Incluso está incluido en cPanel, el panel de control más utilizado del mundo.
Por supuesto que es flexible, esa es la excusa que la gran mayoría de las personas que lo usan se les ocurre cuando se les pregunta y, en general, eso es cierto. También es muy extensible y dado que puede cargar módulos dinámicamente (algo en lo que nginx todavía está trabajando) se puede configurar con facilidad.
Apache es capaz de manejar contenido estático y dinámico por sí solo en el mismo trabajador, por lo que es perfecto por su flexibilidad, pero (y siempre hay un pero) lo hace a expensas de rendimiento.
Apache ha sido conocido por ser algo lento, pero nada se acercó a exponer esta verdad como cuando nginx se hizo popular. La diferencia de rendimiento entre ellos es algo que no se puede pasar por alto. Solo por este asunto, la mayoría de las principales empresas se están cambiando a nginx. Aunque Apache sigue siendo popular, las cosas seguramente cambiarán en el futuro a medida que la tecnología se ponga al día y cada vez más software que antes funcionaba solo en apache comience a incluir nginx.
¿Qué pasa con Nginx?
Nginx viene de la madre Rusia. En 2002, un programador llamado Igor Sysoev comenzó a trabajar en nginx porque estaba profundamente preocupado por el problema de C10K. ¿El qué? En pocas palabras, optimizar enchufes de red manejar una gran cantidad de clientes al mismo tiempo, lo que era el principal inconveniente de Apache y un verdadero desafío para la web moderna. La versión inicial de nginx se hizo pública en 2004 sobre la base de una arquitectura basada en eventos.
Ni siquiera el propio Sysoev pudo ver cuánto éxito tendría nginx. Los tremendos beneficios de la velocidad con nginx y la baja utilización de recursos se hicieron evidentes con el paso del tiempo. Nginx tiene una forma magnífica de proporcionar contenido estático pero No puede manejar contenido dinámico. Esto también resultó ser un beneficio porque el contenido dinámico no estaba vinculado al mismo trabajador y, por lo tanto, podía funcionar mucho más rápido.
Nginx se destaca por proporcionar contenido más rápido a un volumen de conexiones mucho mayor que Apache y actualmente es la opción para los servicios de alojamiento que desean ofrecer el mejor rendimiento posible. Su arquitectura impulsada por eventos y su naturaleza asincrónica son los puntos principales de su rendimiento.
Inicialmente, nginx tenía un inconveniente principal, su documentación. Tuvo un comienzo difícil debido a que el programador era ruso y la forma en que documentó sus funciones. Pero a medida que ha pasado el tiempo y más y más personas utilizan nginx, la documentación ha mejorado enormemente.
El otro inconveniente de nginx es su falta de diseño modular, lo que significa que no puede procesar reglas en tiempo real como hace Apache con su archivo .htaccess y tampoco puede cargar módulos en tiempo real. Esto es algo en lo que nginx ya está trabajando, pero aún necesitará tiempo para igualar la flexibilidad de Apache.
No obstante, los inconvenientes se ven rápidamente eclipsados por el excelente rendimiento. Esto en sí mismo ha permitido que nginx se convierta en la opción popular para el alojamiento orientado al rendimiento y es la base para un servicio tan ampliamente utilizado como Vapor, demostrando una y otra vez que puede obtener una puntuación más alta que Apache en todos los sentidos.
¿Por qué Nginx es la opción preferida para el alojamiento de WordPress?
Hay varios puntos en los que nginx es mucho mejor que Apache para alojar sitios de WordPress. Intentaré resumir esto en la siguiente lista.
Fácil de instalar
Nginx es un paquete completo, requiere muy pocos módulos externos para funcionar y la gran mayoría de las veces, solo se necesita una línea en Linux para habilitarlo.
apt-get install nginx
yum install nginx
Es todo lo que se necesita para que nginx esté activo como servicio. El resto está en la configuración.
Puede funcionar como proxy para Apache o cualquier otro servidor web.
Nginx puede proporcionar un aumento de rendimiento instantáneo a cualquier configuración de servidor web Apache ejecutándose como un proxy sin afectar la funcionalidad del servidor de ninguna manera.
Puede trabajar directamente con un microcaché o incluso con un caché fastcgi
Nginx es excelente gracias a su microcaché integrado e incluso puede funcionar con un caché fastcgi para acelerar el rendimiento en un factor de 10. Nginx también puede proporcionar un tremendo aumento en el rendimiento cuando se trabaja con un caché fastcgi y ni siquiera necesitará un caché externo. mecanismo de almacenamiento en caché como Memcache.
Es increíblemente rápido para servir contenido.
Nginx se ilumina rápidamente cuando se trata de contenido estático y es muy fácil de configurar para tales fines. Una sola línea de código puede permitir el acceso a los archivos más comunes, como el contenido estático, y mejorar su rendimiento. Además, si sabe cómo configurar HttpProxyModule, incluso puede lograr el mismo nivel de rendimiento para el contenido dinámico sin afectar la funcionalidad del servidor web.
Casi 4 veces más conexiones simultáneas que Apache
Si está considerando alojar un sitio web de muy alta demanda con miles de visitas por día, sería bueno que sepa que nginx puede procesar hasta cuatro veces la cantidad de conexiones simultáneas que Apache, lo que significa 2 cosas:
- Su sitio web será más rápido en general
- Necesitará menos recursos que Apache para hacerlo.
Esto se debe a la naturaleza impulsada por eventos de nginx y es responsable del próximo beneficio.
Muy ligero
Nginx está tan bien diseñado que es increíblemente liviano en recursos. Esto significa que usará menos tiempo de CPU para procesar cada solicitud de conexión y lo hará usando mucha menos memoria. Esto le permitirá alojar sitios más grandes utilizando el mismo servidor que antes no podía hacerlo en Apache.
El secreto de su éxito está en el motor mismo. Nginx funciona como un servidor web activado por eventos, lo que significa que escuchará «eventos» en el trabajador y responderá solo cuando sea necesario. los Bajo demanda El argumento dentro de nginx permite que el servicio genere y elimine oyentes a pedido. Esto ayuda a reducir el uso de memoria y aumenta la eficiencia. Apache intentó incluir un modo de evento en el trabajador de eventos de mpm, pero falló estrepitosamente al igualar la velocidad de nginx porque Apache no se construyó como un servidor web controlado por eventos.
Puede hacer balance de carga
Nginx se puede configurar para equilibrar la carga, por lo tanto, aumenta su tasa de conexiones simultáneas aún más al distribuir la carga entre varios servidores, lo que lo hace ideal para proyectos que tienen una carga muy alta de conexiones simultáneas.
¿Qué significa todo esto?
Significa que nginx es ideal para WordPress en casi todos los sentidos. Significa que obtendrá los beneficios de usarlo casi inmediatamente después de la implementación. Si usted es un administrador del sistema, instalar nginx es muy sencillo. Si, por el contrario, desea diseñar un proyecto o alojar su sitio web y desea alojarlo en otro lugar, es muy probable que si su alojamiento utiliza nginx, funcione más rápido.
Empresas de alojamiento de alta calidad como WP Engine y Flywheel ya funcionan con nginx. Pero si va a optar por una empresa de alojamiento diferente, investigue o pregunte a un técnico de soporte si la pila del servidor web incluye nginx. Puedo garantizarle que si el servicio es de calidad, tendrá nginx incluido en alguna parte de la pila.