viernes, 3 de abril de 2015

Apache vs Nginx

  
VS
 

Tanto Apache y Nginx (pronunciado "motor-x") son, de código abierto, servidores web multiplataforma libres.
El Apache HTTP Server, comúnmente conocido como Apache, es un servidor web destaca por jugar un papel clave en el crecimiento inicial de la World Wide Web. En 2009 Apache convirtió en el primer servidor web de superar el sitio hito de 100 millones de web. Desde abril de 1996 de Apache ha sido el servidor HTTP más popular en la World Wide Web. En marzo de 2009, Apache sirve más del 46% de todos los sitios web y más del 66% del millón de mayor actividad.
nginx se observa para ser un buen servidor para los sitios que necesitan proxies inversos rápidos, eficientes o porción rápida y eficiente de contenido estático. Es aclamado por tener bajo uso de memoria y se recomienda para los sitios que se ejecutan en un VPS.
Apache es como Microsoft Word, que tiene un millón de opciones, pero sólo necesita seis.
Nginx hace esas seis cosas, y lo hace de cinco de ellas 50 veces más rápido que Apache.


Contenido 

 [hide


Arquitectura

Apache es un servidor basado en procesos, mientras que nginx es un servidor web basado en eventos.
Nginx y Lighttpd son probablemente los dos servidores asincrónicos más conocidos y Apache es, sin duda, el servidor basado en procesos más conocidos. La principal ventaja del enfoque asíncrono es la escalabilidad. En un servidor basado en procesos, cada conexión simultánea requiere un hilo que provoca una sobrecarga significativa. Un servidor asíncrona, por el contrario, es dirigida por eventos y maneja las solicitudes en una única (o al menos, muy pocos hilos).
Mientras que un servidor basado en procesos a menudo puede llevar a cabo a la par con un servidor asíncrono bajo cargas ligeras, bajo cargas pesadas por lo general consumen más memoria RAM que degrada significativamente el rendimiento. Además, se degradan mucho más rápido en hardware menos potente o en un entorno restringido de recursos, tal como un VPS.
Tirando de los números de la nada con fines ilustrativos, sirviendo 10.000 conexiones simultáneas probablemente sólo causar Nginx utilizar unos pocos megabytes de RAM, mientras que Apache probablemente consumir cientos de megabytes (si pudiera hacerlo en absoluto).

Características

Al igual que Apache, Nginx tiene todas las características que usted esperaría de un servidor web líder:
  • Fichero estático de servir.
  • Soporte SSL / TLS.
  • Hosts virtuales.
  • Proxy inverso.
  • Balanceo de carga.
  • Compresión.
  • Los controles de acceso.
  • Reescritura de URL.
  • De registro personalizado.
  • Del lado del servidor incluye.
  • WebDAV Limited.
  • Streaming FLV.
  • FastCGI.
Es estable, seguro y muy fácil de configurar, como se verá más adelante en el artículo. Sin embargo, las principales ventajas de Nginx más de Apache son el rendimiento y la eficiencia. Si usted está buscando para obtener el máximo provecho de su VPS o está tratando de escalar uno de los sitios web más grandes del mundo, Nginx puede ser la mejor herramienta para el trabajo. Es rápido, estable y fácil de usar.
De acuerdo con el artículo de Wikipedia "Comparación de los servidores web" , Apache tiene las siguientes características adicionales en comparación con nginx:
  • consola administrativa
  • .htaccess

He mencionado antes que nginx no es muy adecuado para el alojamiento compartido. Se podría pensar que si dejas que nginx manejan archivos simplemente estáticos mientras proxy archivos no existentes y archivos dinámicos a Apache entonces estarás bien. Esto no es el caso, sin embargo. Como ejemplo, considere la autenticación básica, si usted quiere tener la autenticación básica en un archivo estático, entonces usted tendrá que añadir en la configuración de nginx, y los usuarios no pueden hacer esto sin tener que volver a cargar el archivo de configuración. Si usted permite que lo cambian y vuelva a cargarlo entonces pueden cometer un error y la ruina para todos.


Rendimiento

Nginx es más rápido a servir archivos estáticos y consume mucha menos memoria para solicitudes concurrentes. Debido a Nginx es basada en eventos, no es necesario para desovar nuevos procesos o hilos para cada solicitud, por lo que su uso de la memoria es muy baja.
Wordpress.com ha encontrado nginx ser el único equilibrador de carga capaz de manejar 8.000 solicitudes por segundo de tráfico en vivo.
La única solución que conozco que es extremadamente alto rendimiento que ofrece todas las características que desea es nginx tengo actualmente nginx haciendo proxy inverso de más de decenas de millones de peticiones HTTP por día (eso es de unos pocos cientos por segundo ) en un único servidor * *. Al pico de carga que utiliza aproximadamente 15 MB de RAM y 10% de la CPU en la configuración de mi en particular (FreeBSD 6).
Bajo el mismo tipo de carga, apache se cae (después de usar 1000 o así los procesos y Dios sabe la cantidad de RAM), la libra cae (demasiados hilos, y el uso de 400MB + de RAM para todas las pilas de subprocesos) y lighty fugas * * más de 20 MB por hora (y usa más CPU, pero no mucho más).

La facilidad de uso

Herramientas de configuración [de nginx] es un juego de niños y el despliegue era pan comido.
[Nginx] es estable, seguro y muy fácil de configurar, como se verá más adelante en el artículo.
Estábamos usando Pound para equilibrar la carga en Justin.tv hasta hoy. Se consistentemente utilizando aproximadamente 20% de la CPU, y durante los picos de usarían hasta el 80% de la CPU. Bajo carga extremadamente alta, que de vez en cuando se asuste y se rompa.
Nos cambiamos a Ngnix, y la carga de inmediato cayó a alrededor del 3% de la CPU. Nuestras páginas se sienten un poco más ágil, aunque eso podría ser mi imaginación. No sólo es el formato de configuración más fácil de entender y mejor documentado, pero ofrece el complemento a un servidor web lleno de funcionalidad.

Popularidad

En 2009 Apache convirtió en el primer servidor web de superar el sitio hito de 100 millones de web. Desde abril de 1996 de Apache ha sido el servidor HTTP más popular en la World Wide Web. En marzo de 2009, Apache sirve más del 46% de todos los sitios web y más del 66% del millón de mayor actividad.
Cuota de mercado de los servidores web Apache está aumentando de nuevo desde principios de 2010, y Nginx ha sido más o menos estable desde hace un tiempo (desde finales de 2009), según las encuestas de servidores web de Netcraft para julio de 2011 .

Licencia

nginx se distribuye bajo los términos de la licencia BSD simplificado, una de dos cláusula, variante libre de ser reproducido de la licencia BSD. Esta elección licencias reduce significativamente la fricción de colaboración entre el código nginx y la de otros proyectos distribuidos bajo otras licencias, y no impone restricciones notables en el desarrollo de software relacionado con nginx.
Apache usa la Licencia Apache 2.0 del mismo nombre, una licencia a veces considerado "permisiva" en que se trata de una licencia de código abierto que no es una licencia copyleft. Se sigue aplicando restricciones a la modificación de software y distribución por encima y más allá de las licencias de libre de ser reproducido como la Licencia BSD simplificado utilizado por Nginx, sin embargo. Las diferencias incluyen el cambio de contabilidad de notificación para los archivos modificados, así como sustancialmente más complejo texto de la licencia. Un beneficio potencial de la Licencia Apache 2.0 sobre la licencia BSD es simplificado cláusula de la patente de la licencia de Apache, aunque la utilidad de dicha cláusula puede ser discutible.

Enlaces externos


Fuente: http://www.wikivs.com/wiki/apache_vs_nginx

No hay comentarios:

Publicar un comentario