¿Por qué a veces es mejor usar Nginx en lugar del servidor Apache?

Los servidores de los piratas informáticos Chris Fidao hablaron ampliamente sobre esto en un reciente horario de oficina de Codementor Nginx.

Tanto Nginx como Apache tienen la misma funcionalidad y son excelentes con contenido estático, pero tienen una gestión de procesos diferente.

TL; DR: Nginx es más eficiente y, por lo tanto, mejor que Apache si está buscando escalar su aplicación web en el futuro.

De forma predeterminada, Apache genera procesos para cada solicitud web en cada conexión web, y después de que maneja y responde al proceso, el proceso se elimina. Apache creará un nuevo proceso para la próxima solicitud y así sucesivamente. Sin embargo, la forma en que se manejan los procesos en Apache tendrá una gran sobrecarga, lo que significa que será un uso intensivo de la CPU, ya que tener un gran número de procesos es algo muy pesado para un servidor. Aunque un servidor típico tiene mucha RAM que puede manejar muchos procesos, tener demasiados procesos puede afectar negativamente el tráfico y la conexión.

A diferencia de Apache, Nginx está diseñado para una alta concurrencia, por lo que puede manejar múltiples solicitudes simultáneas al mismo tiempo. Es casi como un proceso único, ya que hay muy pocos procesos y son de un solo hilo (cuántos procesos tiene dependen de cuántos núcleos tiene su CPU, es decir, una CPU de 4 núcleos tiene 4 procesos). Esto significa que Ngnix es más eficiente, ya que no genera múltiples hilos y se ejecuta en un ciclo de eventos eficiente. Por ejemplo, si tiene que leer un archivo o tener algún tipo de operación de red, Nginx puede hacer otra cosa y procesar otro solicite mientras espera que el otro termine.

En conclusión, a diferencia de Apache, Nginx tendrá pocos procesos pero aún puede manejar muchas solicitudes simultáneas simultáneas debido a su naturaleza síncrona. Nginx maneja archivos estáticos de manera muy eficiente, y a veces es tan rápido como un caché como Varnish.

Fuente: Tutorial de PHP DevOps: Cómo usar Nginx con su aplicación web – Codementor

Velocidad, requiere menos memoria, puede atender muchas más solicitudes por segundo que Apache.

  • Apache vs nginx – WikiVS
  • Nginx Vs Apache en AWS – Actualizado
  • Comparación de rendimiento del servidor web
  • Nginx supera a Apache como el servidor elegido para los 1000 principales sitios traficados
  • Nginx vs Cherokee vs Apache vs Lighttpd
  • Apache vs nginx {comparación de rendimiento}
  • Apache2 vs Nginx para la aplicación PHP

Nginx es más rápido en comparación con Apache,
nginx es un servidor asíncrono y apache es un servidor basado en procesos.
nginx es liviano porque viene con un número limitado de opciones integradas y apache viene con más opciones.
Nginx está basado en eventos, sirve las conexiones en función de cuándo ocurre un evento de conexión y sirve la conexión con el mismo hilo de trabajo,. Apache está basado en subprocesos, crea un nuevo subproceso para cada conexión que conduce a un mayor consumo de memoria del servidor.
Nginx se configura principalmente con cualquier número de procesos de trabajo y estos procesos sirven para múltiples conexiones.

Nginx está especialmente diseñado teniendo en cuenta el rendimiento y las técnicas de bajo consumo de memoria y es por eso que siempre es mejor usar Nginx en lugar de dominar Apache.

El rendimiento de Apache comienza a disminuir una vez que muchos usuarios concurrentes saltan a su sitio donde el rendimiento de Nginx no cae.

Conozca más sobre esto aquí: Nginx vs Apache

Uso Nginx para contenido estático y almacenamiento en caché.
Apache sigue siendo mejor para la producción, ya que proporciona una importante gama de complementos útiles.

Utilizo ambos en algunos proyectos. Apache para el servidor web principal y nginx como servidor de almacenamiento en caché solo frente a Apache.

Apache utiliza un enfoque orientado al proceso, mientras que Nginx utiliza un enfoque orientado a eventos.
nginx es útil para alta carga web ……