Nginx

De Wikipedia, la enciclopedia libre
nginx
Información general
Tipo de programa Servidor web, Proxy
Desarrollador Igor Sysoev
Lanzamiento inicial 4 de octubre de 2004
Vulnerabilidades
Licencia Licencia BSD simplificada.[1]
Información técnica
Programado en C
Versiones
Última versión estable 1.24.0 (info) ( 11 de abril de 2023 (11 meses y 7 días))
Última versión en pruebas 1.25.3 (info) ( 24 de octubre de 2023 (4 meses y 25 días))
Archivos legibles
  • PEM encoded certificate
  • PEM encoded RSA private key
  • Nginx sites-available
Enlaces

Nginx (pronunciado en inglés «ényin-ex», /ˈɛndʒɪn-ɛks/)[2]​ es un servidor web/proxy inverso ligero de alto rendimiento y un proxy para protocolos de correo electrónico (IMAP/POP3).[3][4]

Es software libre y de código abierto, licenciado bajo la Licencia BSD simplificada; también existe una versión comercial distribuida bajo el nombre de Nginx Plus.[5]​ Es multiplataforma, por lo que corre en sistemas tipo Unix (GNU/Linux, BSD, Solaris, Mac OS X, etc.) y Windows.[6]

El sistema es usado por una larga lista de sitios web conocidos,[7]​ como: WordPress, Netflix, Hulu, GitHub, Ohloh, SourceForge, TorrentReactor y partes de Facebook (como el servidor de descarga de archivos zip pesados).[8]

Nombre[editar]

Encabezado HTTP devuelto por nginx con cURL ejecutado desde Ubuntu

Su creador, Igor Sysoev, en su página personal desde 2009 escribe el nombre totalmente en minúsculas,[2]​ mientras que el nombre de la empresa propietaria desde 2011 lo escribe totalmente en mayúsculas,[9]​ lo cual se corresponde con el nombre que devuelve el encabezado HTTP en todas y cada una de las solicitudes de conexión con que inicia la visita de cada página web.[10]

Para complicar más el asunto el logotipo tiene caracteres tanto en mayúsculas y minúsculas del alfabeto cirílico,[10]​ no obstante se ha logrado un consenso en denominar nginx al servidor web,[11]NGINX a los productos y servicios derivados que maneja la empresa y Nginx para referirse a ambos en conjunto.[12]

Uso[editar]

Originalmente, Nginx fue desarrollado para satisfacer las necesidades de varios sitios web de Rambler que recibían unas 500 millones de peticiones al día en septiembre de 2008.[13][14]

De acuerdo con el estudio de Netcraft, Netcraft's Jul 2014 Web Server Survey, nginx es el segundo servidor web más usado en dominios activos (14,35%) superando a Internet Information Server de Microsoft. Además, pasó la marca de ser usado en más de 100 millones de sitios.[15]​ Para el 29 de mayo de 2018 en el informe actualizado para este mismo estudio, Nginx alcanzó los 359 millones de dominios servidos, a pesar de haber perdido 44 millones con respecto al mes anterior.[16]

En febrero de 2017, la adopción de Nginx fue:

  • Argentina: 24,94% del total de dominios.[17]
  • España: 11,51% del total de dominios.[18]
  • México: 13.10% del total de dominios.[19]
  • Chile: 20,44% del total de dominios.[20]
  • Colombia: 16,03% del total de dominios.[21]

En abril de 2019, si bien Apache a nivel total conservaba dominio del mercado, entre el primer millón de servidores web con mayor tráfico Nginx imperaba en su uso:

Nginx vs Nginx Plus[editar]

Hay dos versiones de Nginx, OSS Nginx y Nginx Plus.[14][23]​ Nginx Plus ofrece funcionalidades adicionales que no son incluidas en OSS Nginx, como por ejemplo Active Health Checks, persistencia de sesión basada en cookies, integración del servicio de descubrimiento DNS, Api de Purgación de Caché, AppDynamic, Datalog, plug-ins de Dynatrace y New Relic, almacén clave-valor, entre otras características.

Comparación con Apache[editar]

Nginx fue inicialmente desarrollado con el fin explícito de superar el rendimiento ofrecido por el servidor web Apache.[14]​ Sirviendo archivos estáticos, Nginx usa dramáticamente menos memoria que Apache, y puede manejar aproximadamente cuatro veces más solicitudes por segundo. Este aumento de rendimiento viene con un costo de disminuida flexibilidad, como por ejemplo la capacidad de anular las configuraciones de acceso del sistema por archivo (Apache logra esto con un archivo .htaccess, mientras que Nginx no tiene desarrollada tal funcionalidad). Anteriormente, incorporar módulos de terceros en Nginx requería recompilar la aplicación fuente con los módulos enlazados estáticamente. Esto fue parcialmente superado en la versión 1.9.11 de febrero de 2016, con la adición de carga dinámica de módulos. Sin embargo, los módulos aun deben ser compilados al mismo tiempo que Nginx, y no todos los módulos son compatibles con este sistema; algunos requieren el antiguo proceso de enlazado estático.

Características básicas del servidor web[editar]

Características del proxy de correo[editar]

Véase también[editar]

Referencias[editar]

  1. Sysoev, Igor. «LICENSE» (html). nginx (en inglés). Archivado desde el original el 16 de junio de 2019. Consultado el 18 de junio de 2019. 
  2. a b Sysoev, Igor (22 de noviembre de 2009). «Igor Sysoev's site» (html). Sysoev site (en inglés). Archivado desde el original el 30 de noviembre de 2010. Consultado el 13 de julio de 2018. «I'm the author of nginx (pronounced "engine x"), a high performance HTTP and reverse proxy server, as well as a mail proxy server. The English documentation is available at nginx.org and wiki.nginx.org. » 
  3. «Welcome to NGINX Wiki!» (html). Nginx.com (en inglés). Archivado desde el original el 18 de junio de 2019. Consultado el 18 de junio de 2019. «NGINX is a free, open-source, high-performance HTTP server and reverse proxy, as well as an IMAP/POP3 proxy server. NGINX is known for its high performance, stability, rich feature set, simple configuration, and low resource consumption. » 
  4. Young, K (8 de febrero de 2019). «How to monitor NGINX» (html). Datadog (en inglés). Archivado desde el original el 16 de febrero de 2019. Consultado el 18 de junio de 2019. «As a reverse proxy, it can be used as a single, controlled point of access for multiple back-end servers or for additional applications such as caching and load balancing. » 
  5. Young, K (8 de febrero de 2019). «How to monitor NGINX» (html). Datadog (en inglés). Archivado desde el original el 16 de febrero de 2019. Consultado el 18 de junio de 2019. «NGINX is available as a free, open source product or in a more full-featured, commercially distributed version called NGINX Plus. » 
  6. «nginx» (html). nginx (en inglés). Archivado desde el original el 11 de junio de 2019. Consultado el 18 de junio de 2019. «Tested OS and platforms FreeBSD 3 — 12 / i386; FreeBSD 5 — 12 / amd64; FreeBSD 11 / ppc; FreeBSD 12 / ppc64; Linux 2.2 — 4 / i386; Linux 2.6 — 4 / amd64; Linux 3 — 4 / armv6l, armv7l, aarch64, ppc64le; Solaris 9 / i386, sun4u; Solaris 10 / i386, amd64, sun4v; Solaris 11 / x86; AIX 7.1 / powerpc; HP-UX 11.31 / ia64; macOS / ppc, i386, x86_64; Windows XP, Windows Server 2003, Windows 7, Windows 10. ». 
  7. «Welcome to NGINX Wiki!» (html). Nginx.com (en inglés). Archivado desde el original el 18 de junio de 2019. Consultado el 18 de junio de 2019. «NGINX powers several high-visibility sites, such as Netflix, Hulu, Pinterest, CloudFlare, Airbnb, WordPress.com, GitHub, SoundCloud, Zynga, Eventbrite, Zappos, Media Temple, Heroku, RightScale, Engine Yard, StackPath, CDN77 and many others. » 
  8. «BigZip Files Facebook w/Nginx». Archivado desde el original el 1 de octubre de 2013. Consultado el 20 de septiembre de 2011. 
  9. Sysoev, igor (1 de diciembre de 2011). «Igor Sysoev's site» (html). Sysoev site (en inglés). Archivado desde el original el 20 de septiembre de 2012. Consultado el 13 de julio de 2018. «I have continued to live in Moscow since graduation and currently work at NGINX, Inc. as CTO. » 
  10. a b Mutton, Paul (20 de febrero de 2018). «nginx, Nginx, NGiИX, or NGINX?!» (html). Netcraft. Archivado desde el original el 13 de julio de 2018. Consultado el 13 de julio de 2018. «nginx is consistently written in lowercase on the nginx.org website – even when it is used to start a sentence, like in this paragraph. The original author of nginx, Igor Sysoev, also writes the server's name in lowercase on his own website; but most notably, the name also appears in lowercase in the HTTP Server headers of the 447 million sites that run nginx today ». 
  11. tlhunter (3 de junio de 2017). «How am I supposed to write the name of this web server?». X (antes Twitter) (tuit).  «Thomas Hunter: «How am I supposed to write the name of this web server?»». Archivado desde el original el 13 de julio de 2018. Consultado el 13 de julio de 2018. 
  12. Mutton, Paul (20 de febrero de 2018). «nginx, Nginx, NGiИX, or NGINX?!» (html). Netcraft. Archivado desde el original el 13 de julio de 2018. Consultado el 13 de julio de 2018. «With no canonical naming conventions apparent, Netcraft will continue to use the lowercase nginx to refer to the open source nginx server, as well as the group of products closely based on it (including NGINX Plus and, until recently, cloudflare-nginx). The uppercase NGINX will be used to describe products and services that are exclusively provided by NGINX Inc. » 
  13. «Nginx: the High-Performance Web Server and Reverse Proxy». Linux Journal (en inglés). 1 de septiembre de 2008. 
  14. a b c Walker, Rowe (14 de mayo de 2014). «Nginx vs Apache» (html). Anturis (en inglés). Archivado desde el original el 9 de julio de 2014. Consultado el 13 de julio de 2018. «But Apache slows down under heavy load, because of the need to spawn new processes, thus consuming more computer memory. It also creates new threads that must compete with others for access to memory and CPU. Apache will also refuse new connections when traffic reaches the limit of processes configured by the administrator. Nginx is an open source web server written to address some of the performance and scalability issues associated with Apache. The product is open source and free, but Nginx offers support if you buy its Nginx Plus version. » 
  15. «July 2014 Web Server Survey» (html). Netcraft (en inglés). 31 de julio de 2014. Archivado desde el original el 12 de agosto de 2014. Consultado el 13 de julio de 2018. «nginx (...) 141 041 852 ». 
  16. «May 2018 Web Server Survey» (html). Netcraft (en inglés). 29 de mayo de 2018. Archivado desde el original el 13 de julio de 2018. Consultado el 13 de julio de 2018. «nginx saw moderate growth this month, gaining 1.17 million unique domains. This has increased its market share of domains by 0.19 percentage points, even though it lost 44.2 million sites. » 
  17. «Estadísticas del Internet argentino ardomo.com». www.ardomo.com. Archivado desde el original el 13 de febrero de 2017. Consultado el 20 de febrero de 2017. 
  18. «Estadísticas del Internet español glasdom.es». www.glasdom.es. Archivado desde el original el 14 de febrero de 2017. Consultado el 20 de febrero de 2017. 
  19. «Estadísticas del Internet mexicano sofos.mx». www.sofos.mx. Archivado desde el original el 13 de febrero de 2017. Consultado el 20 de febrero de 2017. 
  20. «Estadísticas del Internet chileno domilo.cl». www.domilo.cl. Archivado desde el original el 13 de febrero de 2017. Consultado el 20 de febrero de 2017. 
  21. «Estadísticas del Internet colombiano domilo.co». www.domilo.co. Archivado desde el original el 13 de febrero de 2017. Consultado el 20 de febrero de 2017. 
  22. «Usage of web servers broken down by ranking» (html). W3Techs (en inglés). 12 de abril de 2019. Archivado desde el original el 12 de abril de 2019. Consultado el 12 de abril de 2019. «This diagram shows the percentages of websites using various web servers broken down by ranking. » 
  23. «NGINX y Pandora FMS: sácale máximo partido a tu web server» (html). Pandora FMS. 27 de mayo de 2016. Archivado desde el original el 13 de julio de 2018. Consultado el 13 de julio de 2018. «Este módulo pertenece a la versión de pago de NGINX y su principal funcionalidad es la de dar a sus usuarios un panel de control en el que ver en tiempo real el estado de todos sus servidores NGINX. Además de poder ver la información por zonas de servidores o por servidores individuales, también permite acceder a muchos más datos que con el módulo básico de status page no son posibles obtener. (...) Para obtener más información, deberemos utilizar el módulo de status para NGINX Plus, (versión Enterprise) del que podremos obtener las siguientes métricas: errores 4xx, errores 5xx, bytes enviados y recibidos por cada zona configurada, posibilidad de conocer el tráfico en tiempo real entre zonas de servidores o servidores individuales, datos de las cachés de NGINX. » 
  24. «Usando: MP4 streaming module». Archivado desde el original el 31 de julio de 2010. Consultado el 11 de agosto de 2010. 
  25. Kegel, Dan (8 de mayo de 1999). «The C10K problem» (html). Kegel com (en inglés). Archivado desde el original el 8 de mayo de 1999. Consultado el 18 de junio de 2019. «And computers are big, too. You can buy a 500MHz machine with 1 gigabyte of RAM and six 100Mbit/sec Ethernet card for $3000 or so. Let's see - at 10000 clients, that's 50KHz, 100Kbytes, and 60Kbits/sec per client. It shouldn't take any more horsepower than that to take four kilobytes from the disk and send them to the network once a second for each of ten thousand clients. (That works out to $0.30 per client, by the way. Those $100/client licensing fees some operating systems charge are starting to look a little heavy!) So hardware is no longer the bottleneck. ». 

Enlaces externos[editar]