Lo cual es más rápido al servir páginas PHP, Apache o NGINX

15

He leído bastante sobre los principales beneficios de ejecutar NGINX sobre Apache para servir archivos estáticos . Sin embargo, nunca he visto un artículo sobre Apache vs NGINX para servir páginas PHP.

Pregunta: ¿cuál es más rápido para servir páginas PHP , Apache o NGINX?

Raedwald
fuente

Respuestas:

9

Personalmente, creo que nginx proporciona la división correcta entre las cosas que hace por sí mismo (recibir y procesar solicitudes HTTP) y lo que delega a otros procesos (generación dinámica de páginas). Si bien es menos esfuerzo configurar Apache para atender solicitudes PHP, ejecutar todo dentro de Apache es un problema de seguridad y configuración (todos los archivos a los que acceden todos los scripts ejecutados por todos los usuarios en el servidor deben ser legibles / escribibles por el usuario que Apache se ejecuta como, lo que significa que los scripts PHP de un usuario pueden ver los datos de otros usuarios); ejecutar cada sitio PHP como su propio usuario en su propio contexto FastCGI es una opción mucho mejor (a costa de una configuración un poco más avanzada hasta que haya marcado la automatización de creación de su sitio para hacer lo correcto).

En cuanto a "más rápido", Apache con mod_php probablemente será más rápido en una sola solicitud, siempre que la máquina no tenga recursos limitados (pasar a un oyente FCGI externo y luego volver no es tan rápido). Sin embargo, Apache es mucho más gordo ( especialmente cuando se ejecuta con mod_php), por lo que podrá servir más tráfico con nginx antes de tener que actualizar a una caja más grande.

womble
fuente
5

El autor de nginx dice que nginx está destinado a servir archivos estáticos y ser frontend, enviando solicitudes que requieren páginas dinámicas a otros servidores como apache.

Otra buena idea es almacenar en caché la solicitud dinámica de Apache con nginx si los datos rara vez se actualizan, por ejemplo, una publicación de blog archivada.

flashnik
fuente
2

En la mayoría de los casos, nginx. Para proyectos de alta carga, nginx + php + php-fpm es una excelente opción.

Valery Viktorovsky
fuente